From b07853fe6e814ba7e6cb0d2cd0092557a5751df6 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 10:31:49 -0500 Subject: [PATCH 01/40] feature/standardization-updates --- .circleci/config.yml | 44 +++--- .github/ISSUE_TEMPLATE/config.yml | 3 + .github/pull_request_template.md | 1 - CONTRIBUTING.md | 72 ++++++++++ README.md | 133 +++++++++--------- integration_tests/dbt_project.yml | 8 +- models/stg_jira__comment.sql | 6 +- models/stg_jira__component.sql | 6 +- models/stg_jira__field.sql | 8 +- models/stg_jira__field_option.sql | 6 +- models/stg_jira__issue.sql | 15 +- models/stg_jira__issue_field_history.sql | 6 +- models/stg_jira__issue_link.sql | 6 +- .../stg_jira__issue_multiselect_history.sql | 6 +- models/stg_jira__issue_type.sql | 6 +- models/stg_jira__priority.sql | 6 +- models/stg_jira__project.sql | 6 +- models/stg_jira__resolution.sql | 6 +- models/stg_jira__sprint.sql | 7 +- models/stg_jira__status.sql | 5 +- models/stg_jira__status_category.sql | 6 +- models/stg_jira__user.sql | 9 +- models/stg_jira__version.sql | 6 +- models/tmp/stg_jira__comment_tmp.sql | 3 +- models/tmp/stg_jira__component_tmp.sql | 3 +- models/tmp/stg_jira__field_option_tmp.sql | 3 +- models/tmp/stg_jira__field_tmp.sql | 3 +- .../tmp/stg_jira__issue_field_history_tmp.sql | 3 +- models/tmp/stg_jira__issue_link_tmp.sql | 3 +- ...tg_jira__issue_multiselect_history_tmp.sql | 3 +- models/tmp/stg_jira__issue_tmp.sql | 3 +- models/tmp/stg_jira__issue_type_tmp.sql | 3 +- models/tmp/stg_jira__priority_tmp.sql | 3 +- models/tmp/stg_jira__project_tmp.sql | 3 +- models/tmp/stg_jira__resolution_tmp.sql | 3 +- models/tmp/stg_jira__sprint_tmp.sql | 3 +- models/tmp/stg_jira__status_category_tmp.sql | 3 +- models/tmp/stg_jira__status_tmp.sql | 3 +- models/tmp/stg_jira__user_tmp.sql | 3 +- models/tmp/stg_jira__version_tmp.sql | 3 +- 40 files changed, 247 insertions(+), 181 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/.circleci/config.yml b/.circleci/config.yml index 49e5e1b..6eb3d0a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,6 +37,34 @@ jobs: dbt run --target postgres --full-refresh dbt run --target postgres dbt test --target postgres + - run: + name: "Run Tests - Spark" + command: | + . venv/bin/activate + echo `pwd` + cd integration_tests + dbt deps + dbt seed --target spark --full-refresh + dbt run --vars '{jira_using_sprints: false, jira_using_components: false, jira_using_versions: false}' --target spark --full-refresh + dbt run --target spark --full-refresh + dbt run --target spark + dbt test --target spark + - run: + name: "Run Tests - Redshift" + command: | + . venv/bin/activate + echo `pwd` + cd integration_tests + dbt deps + dbt seed --target redshift --full-refresh + dbt run --vars '{jira_using_sprints: false, jira_using_components: false, jira_using_versions: false}' --target redshift --full-refresh + dbt run --target redshift --full-refresh + dbt run --target redshift + dbt test --target redshift + - save_cache: + key: deps2-{{ .Branch }} + paths: + - "venv" - run: name: "Run Tests - Snowflake" command: | @@ -64,19 +92,3 @@ jobs: dbt run --target bigquery --full-refresh dbt run --target bigquery dbt test --target bigquery - - run: - name: "Run Tests - Redshift" - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target redshift --full-refresh - dbt run --vars '{jira_using_sprints: false, jira_using_components: false, jira_using_versions: false}' --target redshift --full-refresh - dbt run --target redshift --full-refresh - dbt run --target redshift - dbt test --target redshift - - save_cache: - key: deps2-{{ .Branch }} - paths: - - "venv" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 65a074b..4264c49 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,4 +1,7 @@ contact_links: + - name: Provide feedback to our dbt package team + url: https://www.surveymonkey.com/r/DQ7K7WW + about: Fill out our survey form to provide valuable feedback to the Fivetran team developing and maintaining the dbt packages. - name: Ask a question during our office hours url: https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours about: Schedule time during the external office hours block with the Fivetran Analytics Engineering team for support 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/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..1e005d4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,72 @@ +# Contributing to `dbt_jira_source` + +1. [About this document](#about-this-document) +2. [Proposing a change](#proposing-a-change) +3. [Getting the code](#getting-the-code) +4. [Running `dbt_jira_source` in development](#running-dbt_jira_source-in-development) +5. [Testing](#testing) +6. [Submitting a Pull Request](#submitting-a-pull-request) + +## About this document + +This document is a guide intended for folks interested in contributing to `dbt_jira_source`. Below, we document the process by which members of the community should create issues and submit pull requests (PRs) in this repository. + +If you're new to contributing to open-source software, we encourage you to read this document from start to finish. If you get stuck, drop us a question in the #tools-fivetran channel within [dbt Slack](https://community.getdbt.com). + +## Proposing a change + +All Fivetran dbt packages are Apache 2.0-licensed open source software. They are what they are today because community members like you have opened issues, provided feedback, and contributed to the knowledge loop for the entire community. Whether you are a seasoned open source contributor or a first-time committer, we welcome and encourage you to contribute code, documentation, ideas, or problem statements to this project. + +### Defining the problem + +If you have an idea for a new feature or if you've discovered a bug in `dbt_jira_source`, the first step is to open an issue. Please check the list of [open issues](https://github.com/fivetran/dbt_jira_source/issues) before creating a new one. If you find a relevant issue, please add a comment to the open issue instead of creating a new one. **The `dbt_jira_source` maintainers are always happy to point contributors in the right direction**, so please err on the side of documenting your idea in a new issue if you are unsure where a problem statement belongs. + +> **Note:** All community-contributed Pull Requests _must_ be associated with an open issue. If you submit a Pull Request that does not pertain to an open issue, you will be asked to create an issue describing the problem before the Pull Request can be reviewed. + +### Discussing the idea + +After you open an issue, a project maintainer will follow up by commenting on your issue (usually within 1-3 days) to explore your idea further and advise on how to implement the suggested changes. In many cases, community members will chime in with their own thoughts on the problem statement. If you as the issue creator are interested in submitting a Pull Request to address the issue, you should indicate this in the issue. The project maintainers are _always_ happy to help contributors with the implementation of fixes and features, so please also indicate if there's anything you're unsure about or could use guidance around in the issue. + +### Submitting a change + +If an issue is appropriately well scoped and describes a beneficial change to the `dbt_jira_source` codebase, then anyone may submit a Pull Request to implement the functionality described in the issue. See the sections below on how to do this. + +Here's a good workflow: +- Comment on the open issue, expressing your interest in contributing the required code change +- Outline your planned implementation. If you want help getting started, ask! +- Follow the steps outlined below to develop locally. Once you have opened a PR, one of the `dbt_jira_source` maintainers will work with you to review your code. +- Add a test! Tests are crucial for both fixes and new features alike. We want to make sure that code works as intended, and that it avoids any bugs previously encountered. + +In some cases, the right resolution to an open issue might be tangential to the `dbt_jira_source` codebase. The right path forward might be a documentation update or a change that can be made in user-space. In other cases, the issue might describe functionality that the maintainers are unwilling or unable to incorporate into the codebase. When it is determined that an open issue describes functionality that will not translate to a code change in the `dbt_jira_source` repository, the issue will be tagged with the `wontfix` label and closed. + +## Getting the code + +### Installing git + +You will need `git` in order to download and modify the `dbt_jira_source` source code. On macOS, the best way to download git is to just install [Xcode](https://developer.apple.com/support/xcode/). + +### External contributors + +If you are not a member of the `fivetran` GitHub organization, you can contribute to `dbt_jira_source` by forking the `dbt_jira_source` repository. For a detailed overview on forking, check out the [GitHub docs on forking](https://help.github.com/en/articles/fork-a-repo). In short, you will need to: + +1. fork the `dbt_jira_source` repository +2. clone your fork locally +3. check out a new branch for your proposed changes +4. push changes to your fork +5. open a pull request against `fivetran/dbt_jira_source` from your forked repository + +## Running `dbt_jira_source` in development + +### Installation + +`dbt_jira_source` is a dbt package, which can be installed into your existing dbt project using the [local package](https://docs.getdbt.com/docs/building-a-dbt-project/package-management#local-packages) functionality. After adding it to your project's `packages.yml` file, run `dbt deps`. + +## Testing + +When you add new functionality to the package it is important to ensure your changes run successfully. When opening a PR (below) please be sure to document what you did to test your changes. Screenshots and detail examples are always encouraged! + +## Submitting a Pull Request + +A `dbt_jira_source` maintainer will review your PR. They may suggest code revision for style or clarity, or request that you add additional components. These are good things! We believe that, with a little bit of help, anyone can contribute high-quality code. Similarly, the maintainers may make small adjustments themselves prior to merging. + +Once all tests are passing and your PR has been approved, a `dbt_jira_source` maintainer will merge your changes into the active development branch and will communicate when the release will be live. And that's it! Happy developing 🎉 \ No newline at end of file diff --git a/README.md b/README.md index 6785678..b0f451e 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,90 @@ -[![Apache License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -# Jira (Source) - -This package models Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). - -> Note: This schema applies to Jira connectors set up or fully re-synced after September 10, 2020. - -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 [Jira modeling package](https://github.com/fivetran/dbt_jira). The staging models: -- Remove any rows that are soft-deleted -- 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 `issue` table's ID column is renamed `issue_id`. - - Foreign keys include the table that they refer to. For example, an issue's `assignee` user ID column is renamed `assignee_user_id`. - -## Installation Instructions -Add the following to your `packages.yml` file: -```yml -# packages.yml +![![Apache License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +![dbt-core](https://img.shields.io/badge/dbt_core-version_>=1.0.0_<2.0.0-orange.svg) +[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity) +[![Contributions Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) + + +# Jira Source dbt Package +# 📣 What does this dbt package do? +This package cleans, tests, and preps Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). + +Refer to the DAG below for a detailed view of all models materialized by default within this package. +# 🤔 Who is the target user of this dbt package? +- You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) +- You use dbt +- You want a staging layer that cleans, tests, and prepares your GitHub data +- (Optional) You want to make use of the [Jira Modeling dbt Package](https://github.com/fivetran/dbt_jira) +# 🎯 How do I use the dbt package? +To effectively install this package and leverage the pre-made models, you will follow the below steps: +## Step 1: Pre-Requisites +You will need to ensure you have the following before leveraging the dbt package. +- **Connector**: Have the Fivetran GitHub connector syncing data into your warehouse. +- **Database support**: This package has been tested on BigQuery, Snowflake, Redshift, Postgres, and Databricks. Ensure you are using one of these supported databases. +- **dbt Version**: This dbt package requires you have a functional dbt project that utilizes a dbt version within the respective range `>=1.0.0, <2.0.0`. +## Step 2: Installing the Package +Include the following jira_source package version in your `packages.yml` +> 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/jira_source - version: [">=0.4.0", "<0.5.0"] + version: [">=0.5.0", "<0.6.0"] ``` - -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. - -## Configuration -By default, this package looks for your Jira data in the `jira` 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 Jira data is, add the following configuration to your `dbt_project.yml` file: +## Step 3: Configure Your Variables +### Database and Schema Variables +By default, this package will run using your target database and the `jira` schema. If this is not where your JIra data is (perhaps your Jira schema is `jira_fivetran`), add the following configuration to your `dbt_project.yml` file: ```yml -# dbt_project.yml - -... -config-version: 2 - vars: jira_database: your_database_name jira_schema: your_schema_name ``` - -### Disabling models - -It's possible that your Jira connector does not sync every table that this package expects. If your syncs exclude certain tables, it is because you either don't use that functionality in Jira or actively excluded some tables from your syncs. To disable the corresponding functionality in the package, you must add the relevant variables. By default, all variables are assumed to be `true`. Add variables for only the tables you would like to disable: +### Disabling Model Variables +Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your `dbt_project.yml` file: ```yml -# dbt_project.yml - -... -config-version: 2 - vars: jira_using_sprints: false # Disable if you do not have the sprint table, or if you do not want sprint related metrics reported jira_using_components: false # Disable if you do not have the component table, or if you do not want component related metrics reported jira_using_versions: false # Disable if you do not have the versions table, or if you do not want versions related metrics reported ``` - -### Changing the Build Schema -By default this package will build the Jira staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your Jira staging data to be written to, add the following configuration to your `dbt_project.yml` file: +## (Optional) Step 4: Additional Configurations +### Change the Build Schema +By default, this package builds the GitHub staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your GitHub staging data to be written to, add the following configuration to your `dbt_project.yml` file: ```yml -# dbt_project.yml - -... models: jira_source: +schema: my_new_schema_name # leave blank for just the target_schema ``` +## Step 5: Finish Setup +Your dbt project is now setup to successfully run the dbt package models! You can now execute `dbt run` and `dbt test` to have the models materialize in your warehouse and execute the data integrity tests applied within the package. + +## (Optional) Step 6: Orchestrate your package models with Fivetran +Fivetran offers the ability for you to orchestrate your dbt project through the [Fivetran Transformations for dbt Core](https://fivetran.com/docs/transformations/dbt) product. Refer to the linked docs for more information on how to setup your project for orchestration through Fivetran. + +# 🔍 Package Dependency Matrix +This dbt package is dependent on the following dbt packages. For more information on the below packages, refer to the [dbt hub](https://hub.getdbt.com/) site. +> **If you have any of these dependent packages in your own `packages.yml` I highly recommend you remove them to ensure there are no package version conflicts.** +```yml +packages: + - package: fivetran/fivetran_utils + version: [">=0.3.0", "<0.4.0"] + - package: dbt-labs/dbt_utils + version: [">=0.8.0", "<0.9.0"] + - package: dbt-labs/spark_utils + version: [">=0.3.0", "<0.4.0"] +``` +# 🙌 Contributions and Maintenance +## Package Maintenance +The Fivetran team maintaining this package **only** maintains the latest version of the package. We highly recommend you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/github_source/latest/) of the package and refer to the [CHANGELOG](/CHANGELOG.md) and release notes for more information on changes across versions. + ## 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. +These dbt packages are developed by a small team of analytics engineers at Fivetran. However, the packages are made better by community contributions! -## Database Support -This package has been tested on BigQuery, Snowflake, Redshift, and Postgres. +We highly encourage and welcome contributions to this package. Please refer to the [CONTRIBUTING.md](/CONTRIBUTING.md) doc for details on how to effectively contribute to this open source project! -## 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 shoot us an email 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 dbt transformations with Fivetran [here](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 +# 🏪 Resources and Feedback +- If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_github_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 future dbt package to be developed, then feel free to 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 [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or send us an email at solutions@fivetran.com. \ No newline at end of file diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 11af14b..a4a0271 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,5 +1,5 @@ name: 'jira_source_integration_tests' -version: '0.3.2' +version: '0.5.0' config-version: 2 profile: 'integration_tests' @@ -78,4 +78,8 @@ seeds: start_date: timestamp field: +column_types: - id: "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}" \ No newline at end of file + id: "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}" + +dispatch: + - macro_namespace: dbt_utils + search_order: ['spark_utils', 'dbt_utils'] \ No newline at end of file diff --git a/models/stg_jira__comment.sql b/models/stg_jira__comment.sql index ac6651b..017e8ac 100644 --- a/models/stg_jira__comment.sql +++ b/models/stg_jira__comment.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__comment_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_comment_columns() ) }} - from base ), @@ -31,8 +29,8 @@ final as ( update_author_id as last_update_user_id, updated as last_updated_at, _fivetran_synced - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__component.sql b/models/stg_jira__component.sql index 69028cc..693ed2f 100644 --- a/models/stg_jira__component.sql +++ b/models/stg_jira__component.sql @@ -4,7 +4,6 @@ with base as ( select * from {{ ref('stg_jira__component_tmp') }} - ), fields as ( @@ -16,7 +15,6 @@ fields as ( staging_columns=get_component_columns() ) }} - from base ), @@ -28,8 +26,8 @@ final as ( name as component_name, project_id, _fivetran_synced - from fields ) -select * from final +select * +from final \ No newline at end of file diff --git a/models/stg_jira__field.sql b/models/stg_jira__field.sql index e8dae52..9e18336 100644 --- a/models/stg_jira__field.sql +++ b/models/stg_jira__field.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__field_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_field_columns() ) }} - from base ), @@ -26,9 +24,9 @@ final as ( is_array, is_custom, name as field_name, - _fivetran_synced - + _fivetran_synced from fields ) -select * from final +select * +from final \ No newline at end of file diff --git a/models/stg_jira__field_option.sql b/models/stg_jira__field_option.sql index bebc59e..cddfca3 100644 --- a/models/stg_jira__field_option.sql +++ b/models/stg_jira__field_option.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__field_option_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_field_option_columns() ) }} - from base ), @@ -24,8 +22,8 @@ final as ( select id as field_id, name as field_option_name - from fields ) -select * from final +select * +from final \ No newline at end of file diff --git a/models/stg_jira__issue.sql b/models/stg_jira__issue.sql index 38482ad..be91330 100644 --- a/models/stg_jira__issue.sql +++ b/models/stg_jira__issue.sql @@ -2,21 +2,18 @@ with base as ( select * from {{ ref('stg_jira__issue_tmp') }} - where not coalesce(_fivetran_deleted, false) ), fields as ( select - {{ fivetran_utils.fill_staging_columns( source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_tmp')), staging_columns=get_issue_columns() ) }} - from base ), @@ -28,11 +25,11 @@ final as ( coalesce(time_spent, _time_spent) as time_spent_seconds, assignee as assignee_user_id, {% if target.type == 'redshift' -%} - cast(created as timestamp without time zone) as created_at, - cast(resolved as timestamp without time zone) as resolved_at, + cast(created as timestamp without time zone) as created_at, + cast(resolved as timestamp without time zone) as resolved_at, {% else -%} - created as created_at, - resolved as resolved_at, + created as created_at, + resolved as resolved_at, {% endif %} creator as creator_user_id, description as issue_description, @@ -52,8 +49,8 @@ final as ( updated as updated_at, work_ratio, _fivetran_synced - from fields ) -select * from final +select * +from final \ No newline at end of file diff --git a/models/stg_jira__issue_field_history.sql b/models/stg_jira__issue_field_history.sql index 5944796..df0f4fd 100644 --- a/models/stg_jira__issue_field_history.sql +++ b/models/stg_jira__issue_field_history.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__issue_field_history_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_issue_field_history_columns() ) }} - from base ), @@ -33,8 +31,8 @@ final as ( {% endif %} as updated_at, value as field_value, _fivetran_synced - from fields ) -select * from final +select * +from final \ No newline at end of file diff --git a/models/stg_jira__issue_link.sql b/models/stg_jira__issue_link.sql index 51d6577..b2bb2fe 100644 --- a/models/stg_jira__issue_link.sql +++ b/models/stg_jira__issue_link.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__issue_link_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_issue_link_columns() ) }} - from base ), @@ -26,8 +24,8 @@ final as ( related_issue_id, relationship, _fivetran_synced - from fields ) -select * from final +select * +from final diff --git a/models/stg_jira__issue_multiselect_history.sql b/models/stg_jira__issue_multiselect_history.sql index 3ed8cf8..1bd8991 100644 --- a/models/stg_jira__issue_multiselect_history.sql +++ b/models/stg_jira__issue_multiselect_history.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__issue_multiselect_history_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_issue_multiselect_history_columns() ) }} - from base ), @@ -34,8 +32,8 @@ final as ( {% endif %} as updated_at, value as field_value, _fivetran_synced - from fields ) -select * from final +select * +from final diff --git a/models/stg_jira__issue_type.sql b/models/stg_jira__issue_type.sql index 2d02372..8ee2916 100644 --- a/models/stg_jira__issue_type.sql +++ b/models/stg_jira__issue_type.sql @@ -2,7 +2,6 @@ with base as ( select * from {{ ref('stg_jira__issue_type_tmp') }} - ), fields as ( @@ -14,7 +13,6 @@ fields as ( staging_columns=get_issue_type_columns() ) }} - from base ), @@ -26,8 +24,8 @@ final as ( name as issue_type_name, subtask as is_subtask, _fivetran_synced - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__priority.sql b/models/stg_jira__priority.sql index 065a15c..7aa3622 100644 --- a/models/stg_jira__priority.sql +++ b/models/stg_jira__priority.sql @@ -2,7 +2,6 @@ with base as ( select * from {{ ref('stg_jira__priority_tmp') }} - ), fields as ( @@ -14,7 +13,6 @@ fields as ( staging_columns=get_priority_columns() ) }} - from base ), @@ -25,8 +23,8 @@ final as ( id as priority_id, name as priority_name, _fivetran_synced - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__project.sql b/models/stg_jira__project.sql index fb26c2c..2dd7374 100644 --- a/models/stg_jira__project.sql +++ b/models/stg_jira__project.sql @@ -7,14 +7,12 @@ with base as ( fields as ( select - {{ fivetran_utils.fill_staging_columns( source_columns=adapter.get_columns_in_relation(ref('stg_jira__project_tmp')), staging_columns=get_project_columns() ) }} - from base ), @@ -30,8 +28,8 @@ final as ( project_category_id, permission_scheme_id, _fivetran_synced - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__resolution.sql b/models/stg_jira__resolution.sql index 9e841be..56161dd 100644 --- a/models/stg_jira__resolution.sql +++ b/models/stg_jira__resolution.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__resolution_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_resolution_columns() ) }} - from base ), @@ -26,8 +24,8 @@ final as ( id as resolution_id, name as resolution_name, _fivetran_synced - from fields ) -select * from final +select * +from final diff --git a/models/stg_jira__sprint.sql b/models/stg_jira__sprint.sql index 8d4d7f8..ea5cf22 100644 --- a/models/stg_jira__sprint.sql +++ b/models/stg_jira__sprint.sql @@ -4,7 +4,6 @@ with base as ( select * from {{ ref('stg_jira__sprint_tmp') }} - ), fields as ( @@ -16,14 +15,12 @@ fields as ( staging_columns=get_sprint_columns() ) }} - from base ), final as ( select - id as sprint_id, name as sprint_name, board_id, @@ -31,8 +28,8 @@ final as ( end_date as ended_at, start_date as started_at, _fivetran_synced - from fields ) -select * from final +select * +from final \ No newline at end of file diff --git a/models/stg_jira__status.sql b/models/stg_jira__status.sql index c39222b..c5c6cc0 100644 --- a/models/stg_jira__status.sql +++ b/models/stg_jira__status.sql @@ -13,7 +13,6 @@ fields as ( staging_columns=get_status_columns() ) }} - from base ), @@ -25,8 +24,8 @@ final as ( name as status_name, status_category_id, _fivetran_synced - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__status_category.sql b/models/stg_jira__status_category.sql index c91a9d9..e710965 100644 --- a/models/stg_jira__status_category.sql +++ b/models/stg_jira__status_category.sql @@ -3,7 +3,6 @@ with base as ( select * from {{ ref('stg_jira__status_category_tmp') }} - ), fields as ( @@ -15,7 +14,6 @@ fields as ( staging_columns=get_status_category_columns() ) }} - from base ), @@ -24,8 +22,8 @@ final as ( select id as status_category_id, name as status_category_name - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__user.sql b/models/stg_jira__user.sql index 92c6137..fefb496 100644 --- a/models/stg_jira__user.sql +++ b/models/stg_jira__user.sql @@ -2,20 +2,17 @@ with base as ( select * from {{ ref('stg_jira__user_tmp') }} - ), fields as ( - select - + select {{ fivetran_utils.fill_staging_columns( source_columns=adapter.get_columns_in_relation(ref('stg_jira__user_tmp')), staging_columns=get_user_columns() ) }} - from base ), @@ -29,8 +26,8 @@ final as ( time_zone, username, _fivetran_synced - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/stg_jira__version.sql b/models/stg_jira__version.sql index 64a5629..418b24f 100644 --- a/models/stg_jira__version.sql +++ b/models/stg_jira__version.sql @@ -4,7 +4,6 @@ with base as ( select * from {{ ref('stg_jira__version_tmp') }} - ), fields as ( @@ -16,7 +15,6 @@ fields as ( staging_columns=get_version_columns() ) }} - from base ), @@ -32,8 +30,8 @@ final as ( release_date, released as is_released, start_date - from fields ) -select * from final \ No newline at end of file +select * +from final \ No newline at end of file diff --git a/models/tmp/stg_jira__comment_tmp.sql b/models/tmp/stg_jira__comment_tmp.sql index cb0c5cf..ea57223 100644 --- a/models/tmp/stg_jira__comment_tmp.sql +++ b/models/tmp/stg_jira__comment_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('comment') }} +select * +from {{ var('comment') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__component_tmp.sql b/models/tmp/stg_jira__component_tmp.sql index b713978..fb1ae0f 100644 --- a/models/tmp/stg_jira__component_tmp.sql +++ b/models/tmp/stg_jira__component_tmp.sql @@ -1,3 +1,4 @@ {{ config(enabled=var('jira_using_components', True)) }} -select * from {{ var('component') }} +select * +from {{ var('component') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__field_option_tmp.sql b/models/tmp/stg_jira__field_option_tmp.sql index 3e33957..a4bc806 100644 --- a/models/tmp/stg_jira__field_option_tmp.sql +++ b/models/tmp/stg_jira__field_option_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('field_option') }} +select * +from {{ var('field_option') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__field_tmp.sql b/models/tmp/stg_jira__field_tmp.sql index 732def9..35c3bc7 100644 --- a/models/tmp/stg_jira__field_tmp.sql +++ b/models/tmp/stg_jira__field_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('field') }} +select * +from {{ var('field') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__issue_field_history_tmp.sql b/models/tmp/stg_jira__issue_field_history_tmp.sql index 70db70c..b4e8707 100644 --- a/models/tmp/stg_jira__issue_field_history_tmp.sql +++ b/models/tmp/stg_jira__issue_field_history_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('issue_field_history') }} +select * +from {{ var('issue_field_history') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__issue_link_tmp.sql b/models/tmp/stg_jira__issue_link_tmp.sql index ede9f09..7313c43 100644 --- a/models/tmp/stg_jira__issue_link_tmp.sql +++ b/models/tmp/stg_jira__issue_link_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('issue_link') }} +select * +from {{ var('issue_link') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__issue_multiselect_history_tmp.sql b/models/tmp/stg_jira__issue_multiselect_history_tmp.sql index 3e67550..ef10fc2 100644 --- a/models/tmp/stg_jira__issue_multiselect_history_tmp.sql +++ b/models/tmp/stg_jira__issue_multiselect_history_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('issue_multiselect_history') }} \ No newline at end of file +select * +from {{ var('issue_multiselect_history') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__issue_tmp.sql b/models/tmp/stg_jira__issue_tmp.sql index 12011ae..a8a45de 100644 --- a/models/tmp/stg_jira__issue_tmp.sql +++ b/models/tmp/stg_jira__issue_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('issue') }} \ No newline at end of file +select * +from {{ var('issue') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__issue_type_tmp.sql b/models/tmp/stg_jira__issue_type_tmp.sql index eae2e69..0e813e7 100644 --- a/models/tmp/stg_jira__issue_type_tmp.sql +++ b/models/tmp/stg_jira__issue_type_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('issue_type') }} \ No newline at end of file +select * +from {{ var('issue_type') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__priority_tmp.sql b/models/tmp/stg_jira__priority_tmp.sql index 059b3d6..1313b43 100644 --- a/models/tmp/stg_jira__priority_tmp.sql +++ b/models/tmp/stg_jira__priority_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('priority') }} \ No newline at end of file +select * +from {{ var('priority') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__project_tmp.sql b/models/tmp/stg_jira__project_tmp.sql index 3fdca7a..6903d81 100644 --- a/models/tmp/stg_jira__project_tmp.sql +++ b/models/tmp/stg_jira__project_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('project') }} \ No newline at end of file +select * +from {{ var('project') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__resolution_tmp.sql b/models/tmp/stg_jira__resolution_tmp.sql index 3c12978..ffe589a 100644 --- a/models/tmp/stg_jira__resolution_tmp.sql +++ b/models/tmp/stg_jira__resolution_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('resolution') }} \ No newline at end of file +select * +from {{ var('resolution') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__sprint_tmp.sql b/models/tmp/stg_jira__sprint_tmp.sql index 55ef8ca..8a52429 100644 --- a/models/tmp/stg_jira__sprint_tmp.sql +++ b/models/tmp/stg_jira__sprint_tmp.sql @@ -1,3 +1,4 @@ {{ config(enabled=var('jira_using_sprints', True)) }} -select * from {{ var('sprint') }} \ No newline at end of file +select * +from {{ var('sprint') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__status_category_tmp.sql b/models/tmp/stg_jira__status_category_tmp.sql index 4e095a0..7374b3a 100644 --- a/models/tmp/stg_jira__status_category_tmp.sql +++ b/models/tmp/stg_jira__status_category_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('status_category') }} +select * +from {{ var('status_category') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__status_tmp.sql b/models/tmp/stg_jira__status_tmp.sql index 8b28537..a75dfa8 100644 --- a/models/tmp/stg_jira__status_tmp.sql +++ b/models/tmp/stg_jira__status_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('status') }} \ No newline at end of file +select * +from {{ var('status') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__user_tmp.sql b/models/tmp/stg_jira__user_tmp.sql index 6b476d0..9d44140 100644 --- a/models/tmp/stg_jira__user_tmp.sql +++ b/models/tmp/stg_jira__user_tmp.sql @@ -1 +1,2 @@ -select * from {{ var('user') }} \ No newline at end of file +select * +from {{ var('user') }} \ No newline at end of file diff --git a/models/tmp/stg_jira__version_tmp.sql b/models/tmp/stg_jira__version_tmp.sql index 0bbcaf5..067a35d 100644 --- a/models/tmp/stg_jira__version_tmp.sql +++ b/models/tmp/stg_jira__version_tmp.sql @@ -1,3 +1,4 @@ {{ config(enabled=var('jira_using_versions', True)) }} -select * from {{ var('version') }} +select * +from {{ var('version') }} \ No newline at end of file From 5cca26f5013a003e85f1b2008b6611e956bcf88b Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 11:12:51 -0500 Subject: [PATCH 02/40] README updates --- CHANGELOG.md | 2 ++ README.md | 23 ++++++++++++++++++----- docs/catalog.json | 2 +- docs/index.html | 16 ++++++++-------- docs/manifest.json | 2 +- docs/run_results.json | 1 - static/jira_source_dag.png | Bin 0 -> 548626 bytes 7 files changed, 30 insertions(+), 16 deletions(-) delete mode 100644 docs/run_results.json create mode 100644 static/jira_source_dag.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 980cc92..a117228 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +# dbt_jira_source v0.5.0 + # dbt_jira_source v0.4.0 🎉 dbt v1.0.0 Compatibility 🎉 ## 🚨 Breaking Changes 🚨 diff --git a/README.md b/README.md index b0f451e..df7ef02 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,27 @@ -![![Apache License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -![dbt-core](https://img.shields.io/badge/dbt_core-version_>=1.0.0_<2.0.0-orange.svg) -[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity) -[![Contributions Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) - +

+ + + + + + + + + + +

# Jira Source dbt Package # 📣 What does this dbt package do? This package cleans, tests, and preps Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). Refer to the DAG below for a detailed view of all models materialized by default within this package. + +

+ + +

+ # 🤔 Who is the target user of this dbt package? - You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) - You use dbt diff --git a/docs/catalog.json b/docs/catalog.json index f2f049e..bb457cc 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.20.1", "generated_at": "2021-08-19T21:37:01.724210Z", "invocation_id": "fb4df365-f0f9-4a39-96c6-7cf8c609016e", "env": {}}, "nodes": {}, "sources": {"source.jira_source.jira.comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "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.jira_source.jira.comment"}, "source.jira_source.jira.component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source.jira.component"}, "source.jira_source.jira.field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "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.jira_source.jira.field"}, "source.jira_source.jira.field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "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.jira_source.jira.field_option"}, "source.jira_source.jira.issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "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.jira_source.jira.issue"}, "source.jira_source.jira.issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source.jira.issue_field_history"}, "source.jira_source.jira.issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "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.jira_source.jira.issue_link"}, "source.jira_source.jira.issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source.jira.issue_multiselect_history"}, "source.jira_source.jira.issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "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.jira_source.jira.issue_type"}, "source.jira_source.jira.priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source.jira.priority"}, "source.jira_source.jira.project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "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.jira_source.jira.project"}, "source.jira_source.jira.resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source.jira.resolution"}, "source.jira_source.jira.sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "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.jira_source.jira.sprint"}, "source.jira_source.jira.status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source.jira.status"}, "source.jira_source.jira.status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "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.jira_source.jira.status_category"}, "source.jira_source.jira.user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "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.jira_source.jira.user"}, "source.jira_source.jira.version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "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.jira_source.jira.version"}}, "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-04-26T15:54:06.113942Z", "invocation_id": "838199f1-e0af-4819-8cf5-145c6fe6bbf5", "env": {}}, "nodes": {"model.jira_source.stg_jira__issue_field_history_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_field_history_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 5, "name": "author_id", "comment": null}, "is_active": {"type": "BOOL", "index": 6, "name": "is_active", "comment": null}, "value": {"type": "STRING", "index": 7, "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.jira_source.stg_jira__issue_field_history_tmp"}, "model.jira_source.stg_jira__user": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__user", "database": "bq-project", "comment": null, "owner": null}, "columns": {"email": {"type": "STRING", "index": 1, "name": "email", "comment": null}, "user_id": {"type": "STRING", "index": 2, "name": "user_id", "comment": null}, "locale": {"type": "STRING", "index": 3, "name": "locale", "comment": null}, "user_display_name": {"type": "STRING", "index": 4, "name": "user_display_name", "comment": null}, "time_zone": {"type": "STRING", "index": 5, "name": "time_zone", "comment": null}, "username": {"type": "STRING", "index": 6, "name": "username", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 22.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2069.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__user"}, "model.jira_source.stg_jira__issue_type": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_type", "database": "bq-project", "comment": null, "owner": null}, "columns": {"description": {"type": "STRING", "index": 1, "name": "description", "comment": null}, "issue_type_id": {"type": "INT64", "index": 2, "name": "issue_type_id", "comment": null}, "issue_type_name": {"type": "STRING", "index": 3, "name": "issue_type_name", "comment": null}, "is_subtask": {"type": "BOOL", "index": 4, "name": "is_subtask", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 24.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1438.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_type"}, "model.jira_source.stg_jira__user_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__user_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "STRING", "index": 3, "name": "email", "comment": null}, "locale": {"type": "STRING", "index": 4, "name": "locale", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "STRING", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "STRING", "index": 7, "name": "username", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__user_tmp"}, "model.jira_source.stg_jira__resolution_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__resolution_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, "model.jira_source.stg_jira__comment_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__comment_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "STRING", "index": 4, "name": "body", "comment": null}, "created": {"type": "TIMESTAMP", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "BOOL", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "INT64", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "STRING", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 9, "name": "updated", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, "model.jira_source.stg_jira__issue_link_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_link_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"issue_id": {"type": "INT64", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "INT64", "index": 2, "name": "related_issue_id", "comment": null}, "relationship": {"type": "STRING", "index": 3, "name": "relationship", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "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.jira_source.stg_jira__issue_link_tmp"}, "model.jira_source.stg_jira__component_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__component_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "INT64", "index": 5, "name": "project_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.jira_source.stg_jira__component_tmp"}, "model.jira_source.stg_jira__field_option_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__field_option_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "INT64", "index": 4, "name": "parent_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.jira_source.stg_jira__field_option_tmp"}, "model.jira_source.stg_jira__field_option": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__field_option", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "INT64", "index": 1, "name": "field_id", "comment": null}, "field_option_name": {"type": "STRING", "index": 2, "name": "field_option_name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 24.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_option"}, "model.jira_source.stg_jira__resolution": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__resolution", "database": "bq-project", "comment": null, "owner": null}, "columns": {"resolution_description": {"type": "STRING", "index": 1, "name": "resolution_description", "comment": null}, "resolution_id": {"type": "INT64", "index": 2, "name": "resolution_id", "comment": null}, "resolution_name": {"type": "STRING", "index": 3, "name": "resolution_name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 252.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__resolution"}, "model.jira_source.stg_jira__priority": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__priority", "database": "bq-project", "comment": null, "owner": null}, "columns": {"priority_description": {"type": "STRING", "index": 1, "name": "priority_description", "comment": null}, "priority_id": {"type": "INT64", "index": 2, "name": "priority_id", "comment": null}, "priority_name": {"type": "STRING", "index": 3, "name": "priority_name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 329.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__priority"}, "model.jira_source.stg_jira__issue_link": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_link", "database": "bq-project", "comment": null, "owner": null}, "columns": {"issue_id": {"type": "INT64", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "INT64", "index": 2, "name": "related_issue_id", "comment": null}, "relationship": {"type": "STRING", "index": 3, "name": "relationship", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 144.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_link"}, "model.jira_source.stg_jira__issue": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue", "database": "bq-project", "comment": null, "owner": null}, "columns": {"original_estimate_seconds": {"type": "FLOAT64", "index": 1, "name": "original_estimate_seconds", "comment": null}, "remaining_estimate_seconds": {"type": "FLOAT64", "index": 2, "name": "remaining_estimate_seconds", "comment": null}, "time_spent_seconds": {"type": "FLOAT64", "index": 3, "name": "time_spent_seconds", "comment": null}, "assignee_user_id": {"type": "STRING", "index": 4, "name": "assignee_user_id", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 5, "name": "created_at", "comment": null}, "resolved_at": {"type": "TIMESTAMP", "index": 6, "name": "resolved_at", "comment": null}, "creator_user_id": {"type": "STRING", "index": 7, "name": "creator_user_id", "comment": null}, "issue_description": {"type": "STRING", "index": 8, "name": "issue_description", "comment": null}, "due_date": {"type": "DATE", "index": 9, "name": "due_date", "comment": null}, "environment": {"type": "STRING", "index": 10, "name": "environment", "comment": null}, "issue_id": {"type": "INT64", "index": 11, "name": "issue_id", "comment": null}, "issue_type_id": {"type": "INT64", "index": 12, "name": "issue_type_id", "comment": null}, "issue_key": {"type": "STRING", "index": 13, "name": "issue_key", "comment": null}, "parent_issue_id": {"type": "INT64", "index": 14, "name": "parent_issue_id", "comment": null}, "priority_id": {"type": "INT64", "index": 15, "name": "priority_id", "comment": null}, "project_id": {"type": "INT64", "index": 16, "name": "project_id", "comment": null}, "reporter_user_id": {"type": "STRING", "index": 17, "name": "reporter_user_id", "comment": null}, "resolution_id": {"type": "INT64", "index": 18, "name": "resolution_id", "comment": null}, "status_id": {"type": "INT64", "index": 19, "name": "status_id", "comment": null}, "status_changed_at": {"type": "TIMESTAMP", "index": 20, "name": "status_changed_at", "comment": null}, "issue_name": {"type": "STRING", "index": 21, "name": "issue_name", "comment": null}, "updated_at": {"type": "TIMESTAMP", "index": 22, "name": "updated_at", "comment": null}, "work_ratio": {"type": "FLOAT64", "index": 23, "name": "work_ratio", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 24, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 2404.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 650476.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue"}, "model.jira_source.stg_jira__issue_field_history": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_field_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 2, "name": "issue_id", "comment": null}, "updated_at": {"type": "TIMESTAMP", "index": 3, "name": "updated_at", "comment": null}, "field_value": {"type": "STRING", "index": 4, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 199873.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 8976907.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_field_history"}, "model.jira_source.stg_jira__status_category": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__status_category", "database": "bq-project", "comment": null, "owner": null}, "columns": {"status_category_id": {"type": "INT64", "index": 1, "name": "status_category_id", "comment": null}, "status_category_name": {"type": "STRING", "index": 2, "name": "status_category_name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 3.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 50.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category"}, "model.jira_source.stg_jira__issue_multiselect_history": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_multiselect_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "field_id": {"type": "STRING", "index": 2, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 3, "name": "issue_id", "comment": null}, "updated_at": {"type": "TIMESTAMP", "index": 4, "name": "updated_at", "comment": null}, "field_value": {"type": "STRING", "index": 5, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 6, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 37969.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2656841.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history"}, "model.jira_source.stg_jira__issue_type_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_type_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "BOOL", "index": 5, "name": "subtask", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, "model.jira_source.stg_jira__comment": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__comment", "database": "bq-project", "comment": null, "owner": null}, "columns": {"author_user_id": {"type": "STRING", "index": 1, "name": "author_user_id", "comment": null}, "body": {"type": "STRING", "index": 2, "name": "body", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 3, "name": "created_at", "comment": null}, "comment_id": {"type": "INT64", "index": 4, "name": "comment_id", "comment": null}, "issue_id": {"type": "INT64", "index": 5, "name": "issue_id", "comment": null}, "is_public": {"type": "BOOL", "index": 6, "name": "is_public", "comment": null}, "last_update_user_id": {"type": "STRING", "index": 7, "name": "last_update_user_id", "comment": null}, "last_updated_at": {"type": "TIMESTAMP", "index": 8, "name": "last_updated_at", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 9, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 148.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 26087.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__comment"}, "model.jira_source.stg_jira__issue_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "FLOAT64", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "FLOAT64", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "FLOAT64", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "STRING", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "TIMESTAMP", "index": 8, "name": "created", "comment": null}, "creator": {"type": "STRING", "index": 9, "name": "creator", "comment": null}, "description": {"type": "STRING", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "DATE", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "STRING", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "INT64", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "STRING", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "TIMESTAMP", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "FLOAT64", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "INT64", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "INT64", "index": 18, "name": "priority", "comment": null}, "project": {"type": "INT64", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "FLOAT64", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "STRING", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "INT64", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "TIMESTAMP", "index": 23, "name": "resolved", "comment": null}, "security_level": {"type": "INT64", "index": 24, "name": "security_level", "comment": null}, "status": {"type": "INT64", "index": 25, "name": "status", "comment": null}, "status_category_changed": {"type": "TIMESTAMP", "index": 26, "name": "status_category_changed", "comment": null}, "summary": {"type": "STRING", "index": 27, "name": "summary", "comment": null}, "time_spent": {"type": "FLOAT64", "index": 28, "name": "time_spent", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 29, "name": "updated", "comment": null}, "work_ratio": {"type": "FLOAT64", "index": 30, "name": "work_ratio", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_multiselect_history_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "field_id": {"type": "STRING", "index": 2, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 3, "name": "issue_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 4, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 6, "name": "author_id", "comment": null}, "is_active": {"type": "BOOL", "index": 7, "name": "is_active", "comment": null}, "value": {"type": "STRING", "index": 8, "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.jira_source.stg_jira__issue_multiselect_history_tmp"}, "model.jira_source.stg_jira__project_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__project_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 4, "name": "description", "comment": null}, "key": {"type": "STRING", "index": 5, "name": "key", "comment": null}, "lead_id": {"type": "STRING", "index": 6, "name": "lead_id", "comment": null}, "name": {"type": "STRING", "index": 7, "name": "name", "comment": null}, "permission_scheme_id": {"type": "INT64", "index": 8, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "INT64", "index": 9, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "STRING", "index": 10, "name": "project_type_key", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__project_tmp"}, "model.jira_source.stg_jira__status": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__status", "database": "bq-project", "comment": null, "owner": null}, "columns": {"status_description": {"type": "STRING", "index": 1, "name": "status_description", "comment": null}, "status_id": {"type": "INT64", "index": 2, "name": "status_id", "comment": null}, "status_name": {"type": "STRING", "index": 3, "name": "status_name", "comment": null}, "status_category_id": {"type": "INT64", "index": 4, "name": "status_category_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 22.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2195.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status"}, "model.jira_source.stg_jira__project": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__project", "database": "bq-project", "comment": null, "owner": null}, "columns": {"project_description": {"type": "STRING", "index": 1, "name": "project_description", "comment": null}, "project_id": {"type": "INT64", "index": 2, "name": "project_id", "comment": null}, "project_key": {"type": "STRING", "index": 3, "name": "project_key", "comment": null}, "project_lead_user_id": {"type": "STRING", "index": 4, "name": "project_lead_user_id", "comment": null}, "project_name": {"type": "STRING", "index": 5, "name": "project_name", "comment": null}, "project_category_id": {"type": "INT64", "index": 6, "name": "project_category_id", "comment": null}, "permission_scheme_id": {"type": "INT64", "index": 7, "name": "permission_scheme_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 8, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 6.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 444.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__project"}, "model.jira_source.stg_jira__field": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__field", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "is_array": {"type": "BOOL", "index": 2, "name": "is_array", "comment": null}, "is_custom": {"type": "BOOL", "index": 3, "name": "is_custom", "comment": null}, "field_name": {"type": "STRING", "index": 4, "name": "field_name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 135.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 5996.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field"}, "model.jira_source.stg_jira__priority_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__priority_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, "model.jira_source.stg_jira__component": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__component", "database": "bq-project", "comment": null, "owner": null}, "columns": {"component_description": {"type": "STRING", "index": 1, "name": "component_description", "comment": null}, "component_id": {"type": "INT64", "index": 2, "name": "component_id", "comment": null}, "component_name": {"type": "STRING", "index": 3, "name": "component_name", "comment": null}, "project_id": {"type": "INT64", "index": 4, "name": "project_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 15.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1545.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__component"}, "model.jira_source.stg_jira__field_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__field_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "BOOL", "index": 4, "name": "is_array", "comment": null}, "is_custom": {"type": "BOOL", "index": 5, "name": "is_custom", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_tmp"}, "model.jira_source.stg_jira__status_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__status_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "INT64", "index": 5, "name": "status_category_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.jira_source.stg_jira__status_tmp"}, "model.jira_source.stg_jira__status_category_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__status_category_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}}, "sources": {"source.jira_source.jira.user": {"metadata": {"type": "table", "schema": "jira_2", "name": "user", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "STRING", "index": 3, "name": "email", "comment": null}, "locale": {"type": "STRING", "index": 4, "name": "locale", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "STRING", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "STRING", "index": 7, "name": "username", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 335.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.user"}, "source.jira_source.jira.field_option": {"metadata": {"type": "table", "schema": "jira_2", "name": "field_option", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 8.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 180.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.field_option"}, "source.jira_source.jira.issue_field_history": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_field_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "STRING", "index": 5, "name": "value", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 497.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 22346.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_field_history"}, "source.jira_source.jira.issue_multiselect_history": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_multiselect_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "STRING", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "STRING", "index": 6, "name": "value", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 209.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 15646.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_multiselect_history"}, "source.jira_source.jira.issue_type": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_type", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "BOOL", "index": 5, "name": "subtask", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 11.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 795.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_type"}, "source.jira_source.jira.comment": {"metadata": {"type": "table", "schema": "jira_2", "name": "comment", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "STRING", "index": 4, "name": "body", "comment": null}, "created": {"type": "TIMESTAMP", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "BOOL", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "INT64", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "STRING", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 9, "name": "updated", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 159.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.comment"}, "source.jira_source.jira.issue_link": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_link", "database": "bq-project", "comment": null, "owner": null}, "columns": {"issue_id": {"type": "INT64", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "INT64", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "STRING", "index": 4, "name": "relationship", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 3.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 108.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_link"}, "source.jira_source.jira.issue": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "FLOAT64", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "FLOAT64", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "FLOAT64", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "STRING", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "TIMESTAMP", "index": 8, "name": "created", "comment": null}, "creator": {"type": "STRING", "index": 9, "name": "creator", "comment": null}, "description": {"type": "STRING", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "DATE", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "STRING", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "INT64", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "STRING", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "TIMESTAMP", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "FLOAT64", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "INT64", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "INT64", "index": 18, "name": "priority", "comment": null}, "project": {"type": "INT64", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "FLOAT64", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "STRING", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "INT64", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "TIMESTAMP", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "INT64", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "TIMESTAMP", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "STRING", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "FLOAT64", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "FLOAT64", "index": 29, "name": "work_ratio", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 11.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2126.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue"}, "source.jira_source.jira.component": {"metadata": {"type": "table", "schema": "jira_2", "name": "component", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "INT64", "index": 5, "name": "project_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 185.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.component"}, "source.jira_source.jira.priority": {"metadata": {"type": "table", "schema": "jira_2", "name": "priority", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 329.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.priority"}, "source.jira_source.jira.status_category": {"metadata": {"type": "table", "schema": "jira_2", "name": "status_category", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 3.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 74.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.status_category"}, "source.jira_source.jira.field": {"metadata": {"type": "table", "schema": "jira_2", "name": "field", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "BOOL", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "BOOL", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 73.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2802.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.field"}, "source.jira_source.jira.project": {"metadata": {"type": "table", "schema": "jira_2", "name": "project", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "key": {"type": "STRING", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "STRING", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "INT64", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "INT64", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "STRING", "index": 9, "name": "project_type_key", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 170.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.project"}, "source.jira_source.jira.version": {"metadata": {"type": "table", "schema": "jira_2", "name": "version", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "BOOL", "index": 3, "name": "archived", "comment": null}, "description": {"type": "STRING", "index": 4, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "BOOL", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "INT64", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "DATE", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "BOOL", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "DATE", "index": 10, "name": "start_date", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 129.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.version"}, "source.jira_source.jira.status": {"metadata": {"type": "table", "schema": "jira_2", "name": "status", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "INT64", "index": 5, "name": "status_category_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 7.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 331.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.status"}, "source.jira_source.jira.resolution": {"metadata": {"type": "table", "schema": "jira_2", "name": "resolution", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 62.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.resolution"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index ee9f297..0c4d0ec 100644 --- a/docs/index.html +++ b/docs/index.html @@ -24,7 +24,7 @@
icons
- diff --git a/docs/manifest.json b/docs/manifest.json index 08cabe0..713e209 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v2.json", "dbt_version": "0.20.1", "generated_at": "2021-08-19T21:36:56.959863Z", "invocation_id": "fb4df365-f0f9-4a39-96c6-7cf8c609016e", "env": {}, "project_id": "f8f23f95e595b2cd2ad26844aa066679", "user_id": "57178664-37b2-4047-9572-68ec8b488cd7", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.jira_source_integration_tests.issue_link": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "issue_link"], "unique_id": "seed.jira_source_integration_tests.issue_link", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "issue_link.csv", "original_file_path": "data/issue_link.csv", "name": "issue_link", "alias": "issue_link", "checksum": {"name": "sha256", "checksum": "5d31489970cb5d0c119af37bb32e993cad93f07c07de382dffec4e43846a65e3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"issue_link\""}, "seed.jira_source_integration_tests.issue_type": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "issue_type"], "unique_id": "seed.jira_source_integration_tests.issue_type", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "issue_type.csv", "original_file_path": "data/issue_type.csv", "name": "issue_type", "alias": "issue_type", "checksum": {"name": "sha256", "checksum": "79281a86f92794b477aa2b1c9578ba012fedc4415592051972b35fc0f173a01b"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"issue_type\""}, "seed.jira_source_integration_tests.project_board": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "project_board"], "unique_id": "seed.jira_source_integration_tests.project_board", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "project_board.csv", "original_file_path": "data/project_board.csv", "name": "project_board", "alias": "project_board", "checksum": {"name": "sha256", "checksum": "04f1ff6543a5214207218e40e7e1664555ccb512d76ba5e14c2ecc42bb9644ad"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"project_board\""}, "seed.jira_source_integration_tests.resolution": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "resolution"], "unique_id": "seed.jira_source_integration_tests.resolution", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "resolution.csv", "original_file_path": "data/resolution.csv", "name": "resolution", "alias": "resolution", "checksum": {"name": "sha256", "checksum": "531ee2fe6400e78041d7573ccf989aa9b9e3e43aad8cd701b7c3e25fd653cc90"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"resolution\""}, "seed.jira_source_integration_tests.version": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "version"], "unique_id": "seed.jira_source_integration_tests.version", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "version.csv", "original_file_path": "data/version.csv", "name": "version", "alias": "version", "checksum": {"name": "sha256", "checksum": "bf33e0bb428925e76d6c321ab89507798cd959a1eac7969d91f5e4f0836bee99"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"version\""}, "seed.jira_source_integration_tests.status": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "status"], "unique_id": "seed.jira_source_integration_tests.status", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "status.csv", "original_file_path": "data/status.csv", "name": "status", "alias": "status", "checksum": {"name": "sha256", "checksum": "8a8c0167d920ede6bfabc65b7222e8d7dd8a89980300ea94b2f3b73c0a5fd645"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"status\""}, "seed.jira_source_integration_tests.user_group": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "user_group"], "unique_id": "seed.jira_source_integration_tests.user_group", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "user_group.csv", "original_file_path": "data/user_group.csv", "name": "user_group", "alias": "user_group", "checksum": {"name": "sha256", "checksum": "d4f0f807391428848ccbed1222b3a257ec19268893a4bd5bb99232636bf1d105"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"user_group\""}, "seed.jira_source_integration_tests.component": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "bigint", "project_id": "bigint"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "component"], "unique_id": "seed.jira_source_integration_tests.component", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "component.csv", "original_file_path": "data/component.csv", "name": "component", "alias": "component", "checksum": {"name": "sha256", "checksum": "4488ce1f19d7cba2e11b81d79de180b955e52ec4028dd5e3061f6d8866919a2a"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "project_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"component\""}, "seed.jira_source_integration_tests.project": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "project"], "unique_id": "seed.jira_source_integration_tests.project", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "project.csv", "original_file_path": "data/project.csv", "name": "project", "alias": "project", "checksum": {"name": "sha256", "checksum": "fd8986c9b9a2eaecbe37500e7f5c7529b959dfe2422bf2d662754e292d53c134"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"project\""}, "seed.jira_source_integration_tests.issue_multiselect_history": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "bigint", "value": "varchar"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "issue_multiselect_history"], "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "issue_multiselect_history.csv", "original_file_path": "data/issue_multiselect_history.csv", "name": "issue_multiselect_history", "alias": "issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "266af0ef486fec0a6db9679d2dd4d15ecba43bff757867eb5de674c8e6257b81"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"issue_multiselect_history\""}, "seed.jira_source_integration_tests.comment": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "bigint", "created": "timestamp", "issue_id": "bigint", "updated": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "comment"], "unique_id": "seed.jira_source_integration_tests.comment", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "comment.csv", "original_file_path": "data/comment.csv", "name": "comment", "alias": "comment", "checksum": {"name": "sha256", "checksum": "d3e7dc573cc229747d3a0097e90324be44bd7633336d7d854af579637cd65963"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "updated": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"comment\""}, "seed.jira_source_integration_tests.issue": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "bigint", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "varchar"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "issue"], "unique_id": "seed.jira_source_integration_tests.issue", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "issue.csv", "original_file_path": "data/issue.csv", "name": "issue", "alias": "issue", "checksum": {"name": "sha256", "checksum": "4e6858da36f851a3d93127b8cf4d43dbe8114e13aeb5c841bd8c7d4cbcb425fc"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"issue\""}, "seed.jira_source_integration_tests.sprint": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "bigint", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "sprint"], "unique_id": "seed.jira_source_integration_tests.sprint", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "sprint.csv", "original_file_path": "data/sprint.csv", "name": "sprint", "alias": "sprint", "checksum": {"name": "sha256", "checksum": "919fd64d33b7c2a55fdcd3bb30eb19030dff6825b7c651867ad17512407df873"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"sprint\""}, "seed.jira_source_integration_tests.field_option": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "bigint"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "field_option"], "unique_id": "seed.jira_source_integration_tests.field_option", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "field_option.csv", "original_file_path": "data/field_option.csv", "name": "field_option", "alias": "field_option", "checksum": {"name": "sha256", "checksum": "7098765ca05d57eb72a62dbf8a73dec47359a14fe74d4438a5f8ac0b43b84fb5"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"field_option\""}, "seed.jira_source_integration_tests.epic": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "bigint"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "epic"], "unique_id": "seed.jira_source_integration_tests.epic", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "epic.csv", "original_file_path": "data/epic.csv", "name": "epic", "alias": "epic", "checksum": {"name": "sha256", "checksum": "c0330c18dbeb3ba527c84e3625f7ce51994d90296970a0f03cd7bf74dd37b68e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"epic\""}, "seed.jira_source_integration_tests.field": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "id": "varchar"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "field"], "unique_id": "seed.jira_source_integration_tests.field", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "field.csv", "original_file_path": "data/field.csv", "name": "field", "alias": "field", "checksum": {"name": "sha256", "checksum": "1a1bf85a3609dae9208a40cdb353b710125668595523093b4c36109b2f99aa07"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"field\""}, "seed.jira_source_integration_tests.user": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "user"], "unique_id": "seed.jira_source_integration_tests.user", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "user.csv", "original_file_path": "data/user.csv", "name": "user", "alias": "user", "checksum": {"name": "sha256", "checksum": "09b765c18fcde1e10c80196dc6b38d635fa6ce1361ba31aa2b2da75f447951ab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"user\""}, "seed.jira_source_integration_tests.priority": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "priority"], "unique_id": "seed.jira_source_integration_tests.priority", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "priority.csv", "original_file_path": "data/priority.csv", "name": "priority", "alias": "priority", "checksum": {"name": "sha256", "checksum": "c64e8f0963669242bf6355d5658bef9bacea31c4ee9378d970965b4cef06c691"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"priority\""}, "seed.jira_source_integration_tests.status_category": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "status_category"], "unique_id": "seed.jira_source_integration_tests.status_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "status_category.csv", "original_file_path": "data/status_category.csv", "name": "status_category", "alias": "status_category", "checksum": {"name": "sha256", "checksum": "b70923cd595a54c3e64fe588783062ca1115e9055dbe63329c203fcb3c14b1c3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"status_category\""}, "seed.jira_source_integration_tests.issue_field_history": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "bigint", "value": "varchar"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "issue_field_history"], "unique_id": "seed.jira_source_integration_tests.issue_field_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "issue_field_history.csv", "original_file_path": "data/issue_field_history.csv", "name": "issue_field_history", "alias": "issue_field_history", "checksum": {"name": "sha256", "checksum": "3cbf9808964cb92833f78327f878bd6fc174784bcdb1630d8a56959fdf7e1f9c"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"issue_field_history\""}, "seed.jira_source_integration_tests.project_category": {"raw_sql": "", "compiled": true, "resource_type": "seed", "depends_on": {"macros": [], "nodes": []}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {"_fivetran_synced": "timestamp"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests", "fqn": ["jira_source_integration_tests", "project_category"], "unique_id": "seed.jira_source_integration_tests.project_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests", "path": "project_category.csv", "original_file_path": "data/project_category.csv", "name": "project_category", "alias": "project_category", "checksum": {"name": "sha256", "checksum": "0420d8a815583af92a68a51fa4b46d3081a33aa8c2d6649d7f52065721a0301d"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1629409018, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests\".\"project_category\""}, "model.jira_source.stg_jira__comment": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__comment_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__comment_tmp')),\n staging_columns=get_comment_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n created as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n updated as last_updated_at,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_comment_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__comment"], "unique_id": "model.jira_source.stg_jira__comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__comment.sql", "original_file_path": "models/stg_jira__comment.sql", "name": "stg_jira__comment", "alias": "stg_jira__comment", "checksum": {"name": "sha256", "checksum": "b3073ed902311ad208d7f4301374ea9db077baa9b97394781a3a7eb2afb97c40"}, "tags": [], "refs": [["stg_jira__comment_tmp"], ["stg_jira__comment_tmp"]], "sources": [], "description": "Table of comments made on issues.", "columns": {"comment_id": {"name": "comment_id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_user_id": {"name": "author_user_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the comment was created. TODO - get timezone clarification", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_update_user_id": {"name": "last_update_user_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_updated_at": {"name": "last_updated_at", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__comment.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__comment_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n author_id\n \n , \n cast(null as \n varchar\n) as \n \n body\n \n , \n cast(null as \n timestamp\n) as \n \n created\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as boolean) as \n \n is_public\n \n , \n cast(null as \n int\n) as \n \n issue_id\n \n , \n cast(null as \n varchar\n) as \n \n update_author_id\n \n , \n cast(null as \n timestamp\n) as \n \n updated\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n created as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n updated as last_updated_at,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__comment\""}, "model.jira_source.stg_jira__project": {"raw_sql": "with base as (\n \n select *\n from {{ ref('stg_jira__project_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_jira__project_tmp')),\n staging_columns=get_project_columns()\n )\n }}\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_project_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__project"], "unique_id": "model.jira_source.stg_jira__project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__project.sql", "original_file_path": "models/stg_jira__project.sql", "name": "stg_jira__project", "alias": "stg_jira__project", "checksum": {"name": "sha256", "checksum": "9b672ee648f503b0ababe624b8a3c3b8013ac21ba2597d11c27d4c772a20c308"}, "tags": [], "refs": [["stg_jira__project_tmp"], ["stg_jira__project_tmp"]], "sources": [], "description": "Table of all projects in your organization.", "columns": {"project_id": {"name": "project_id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_description": {"name": "project_description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_key": {"name": "project_key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_lead_user_id": {"name": "project_lead_user_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_name": {"name": "project_name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__project.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n \n select *\n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__project_tmp\"\n),\n\nfields as (\n\n select\n\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n key\n \n , \n cast(null as \n varchar\n) as \n \n lead_id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as \n int\n) as \n \n permission_scheme_id\n \n , \n cast(null as \n int\n) as \n \n project_category_id\n \n \n\n\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__project\""}, "model.jira_source.stg_jira__issue_field_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_field_history_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_field_history_tmp')),\n staging_columns=get_issue_field_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n \"TIME\"\n {% elif target.type == 'redshift' %}\n \"time\"\n {% else %}\n time\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_field_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_field_history"], "unique_id": "model.jira_source.stg_jira__issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__issue_field_history.sql", "original_file_path": "models/stg_jira__issue_field_history.sql", "name": "stg_jira__issue_field_history", "alias": "stg_jira__issue_field_history", "checksum": {"name": "sha256", "checksum": "db9c9bed25d60b9853cff397b2df5db2721a3fdade4ba676e61ed9afc44a3881"}, "tags": [], "refs": [["stg_jira__issue_field_history_tmp"], ["stg_jira__issue_field_history_tmp"]], "sources": [], "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_field_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_field_history_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n field_id\n \n , \n cast(null as \n int\n) as \n \n issue_id\n \n , \n cast(null as \n varchar\n) as \n \n value\n \n , \n cast(null as \n timestamp\n) as \n \n time\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(field_id as \n varchar\n) as field_id,\n issue_id,\n \n time\n as updated_at,\n value as field_value,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_field_history\""}, "model.jira_source.stg_jira__version": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__version_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__version_tmp')),\n staging_columns=get_version_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n release_date,\n released as is_released,\n start_date\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_version_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__version"], "unique_id": "model.jira_source.stg_jira__version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__version.sql", "original_file_path": "models/stg_jira__version.sql", "name": "stg_jira__version", "alias": "stg_jira__version", "checksum": {"name": "sha256", "checksum": "4e2cc76a71ee653324c8d3f09f5fe9829718283e8ac2bc0fd938d437368a1913"}, "tags": [], "refs": [["stg_jira__version_tmp"], ["stg_jira__version_tmp"]], "sources": [], "description": "Table of project versions in your organization.", "columns": {"is_archived": {"name": "is_archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_name": {"name": "version_name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_released": {"name": "is_released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__version.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1629409018, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__version_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as boolean) as \n \n archived\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n overdue\n \n , \n cast(null as \n int\n) as \n \n project_id\n \n , \n cast(null as date) as \n \n release_date\n \n , \n cast(null as boolean) as \n \n released\n \n , \n cast(null as date) as \n \n start_date\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n release_date,\n released as is_released,\n start_date\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__version\""}, "model.jira_source.stg_jira__sprint": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__sprint_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__sprint_tmp')),\n staging_columns=get_sprint_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n \n id as sprint_id,\n name as sprint_name,\n board_id,\n complete_date as completed_at,\n end_date as ended_at,\n start_date as started_at,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_sprint_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__sprint"], "unique_id": "model.jira_source.stg_jira__sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__sprint.sql", "original_file_path": "models/stg_jira__sprint.sql", "name": "stg_jira__sprint", "alias": "stg_jira__sprint", "checksum": {"name": "sha256", "checksum": "6f6d77c1eed21371eefc09423dba86e1d75f33eb2effa3112a4d2ed4910c2ab6"}, "tags": [], "refs": [["stg_jira__sprint_tmp"], ["stg_jira__sprint_tmp"]], "sources": [], "description": "Table of all sprints.", "columns": {"sprint_id": {"name": "sprint_id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "completed_at": {"name": "completed_at", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ended_at": {"name": "ended_at", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "sprint_name": {"name": "sprint_name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "started_at": {"name": "started_at", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__sprint.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1629409018, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__sprint_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int\n) as \n \n board_id\n \n , \n cast(null as \n timestamp\n) as \n \n complete_date\n \n , \n cast(null as \n timestamp\n) as \n \n end_date\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as \n timestamp\n) as \n \n start_date\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n \n id as sprint_id,\n name as sprint_name,\n board_id,\n complete_date as completed_at,\n end_date as ended_at,\n start_date as started_at,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__sprint\""}, "model.jira_source.stg_jira__field_option": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_option_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__field_option_tmp')),\n staging_columns=get_field_option_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n\n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_option_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__field_option"], "unique_id": "model.jira_source.stg_jira__field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__field_option.sql", "original_file_path": "models/stg_jira__field_option.sql", "name": "stg_jira__field_option", "alias": "stg_jira__field_option", "checksum": {"name": "sha256", "checksum": "727121d065660cc0cebe39f07d9ae1303fcb1f2a9bbe0d0726ddfd44aee2ee1e"}, "tags": [], "refs": [["stg_jira__field_option_tmp"], ["stg_jira__field_option_tmp"]], "sources": [], "description": "Table of all options related to custom fields.", "columns": {"field_id": {"name": "field_id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_option_name": {"name": "field_option_name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field_option.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field_option_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n\n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field_option\""}, "model.jira_source.stg_jira__field": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__field_tmp')),\n staging_columns=get_field_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_string() }}) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced \n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__field"], "unique_id": "model.jira_source.stg_jira__field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__field.sql", "original_file_path": "models/stg_jira__field.sql", "name": "stg_jira__field", "alias": "stg_jira__field", "checksum": {"name": "sha256", "checksum": "56c8966014945c6b9cf8a2389140a3b750ac3b2a88799f4b429169b7560a3a1e"}, "tags": [], "refs": [["stg_jira__field_tmp"], ["stg_jira__field_tmp"]], "sources": [], "description": "Table of all issue fields.", "columns": {"field_id": {"name": "field_id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_name": {"name": "field_name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n id\n \n , \n cast(null as boolean) as \n \n is_array\n \n , \n cast(null as boolean) as \n \n is_custom\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as \n varchar\n) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced \n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field\""}, "model.jira_source.stg_jira__resolution": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__resolution_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__resolution_tmp')),\n staging_columns=get_resolution_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_resolution_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__resolution"], "unique_id": "model.jira_source.stg_jira__resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__resolution.sql", "original_file_path": "models/stg_jira__resolution.sql", "name": "stg_jira__resolution", "alias": "stg_jira__resolution", "checksum": {"name": "sha256", "checksum": "643805ff0bcb676faec7b1ecd2191564fa383cc149a016691d6abb8be3fc24f1"}, "tags": [], "refs": [["stg_jira__resolution_tmp"], ["stg_jira__resolution_tmp"]], "sources": [], "description": "Table storing the types of resolutions used by your organization.", "columns": {"resolution_id": {"name": "resolution_id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_description": {"name": "resolution_description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_name": {"name": "resolution_name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__resolution.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__resolution_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__resolution\""}, "model.jira_source.stg_jira__status": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_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_jira__status_tmp')),\n staging_columns=get_status_columns()\n )\n }}\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__status"], "unique_id": "model.jira_source.stg_jira__status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__status.sql", "original_file_path": "models/stg_jira__status.sql", "name": "stg_jira__status", "alias": "stg_jira__status", "checksum": {"name": "sha256", "checksum": "46896c02a979efddfd7ee224d21a688c9b25cd345dd4efbfa4804af04c45c77b"}, "tags": [], "refs": [["stg_jira__status_tmp"], ["stg_jira__status_tmp"]], "sources": [], "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"status_id": {"name": "status_id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_description": {"name": "status_description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_name": {"name": "status_name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_tmp\"\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as \n int\n) as \n \n status_category_id\n \n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status\""}, "model.jira_source.stg_jira__issue": {"raw_sql": "with base as (\n \n select * \n from {{ ref('stg_jira__issue_tmp') }}\n \n where not coalesce(_fivetran_deleted, false)\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_jira__issue_tmp')),\n staging_columns=get_issue_columns()\n )\n }}\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n created as created_at,\n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n resolved as resolved_at,\n status as status_id,\n status_category_changed as status_changed_at,\n summary as issue_name,\n updated as updated_at,\n work_ratio,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue"], "unique_id": "model.jira_source.stg_jira__issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__issue.sql", "original_file_path": "models/stg_jira__issue.sql", "name": "stg_jira__issue", "alias": "stg_jira__issue", "checksum": {"name": "sha256", "checksum": "92eddbe31347ff7b6a2b0f891da20125d731b495ffd02873cd535d258cf8a006"}, "tags": [], "refs": [["stg_jira__issue_tmp"], ["stg_jira__issue_tmp"]], "sources": [], "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"issue_id": {"name": "issue_id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee_user_id": {"name": "assignee_user_id", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator_user_id": {"name": "creator_user_id", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_description": {"name": "issue_description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_id": {"name": "issue_type_id", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_key": {"name": "issue_key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate_seconds": {"name": "original_estimate_seconds", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_issue_id": {"name": "parent_issue_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_id": {"name": "priority_id", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate_seconds": {"name": "remaining_estimate_seconds", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter_user_id": {"name": "reporter_user_id", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_id": {"name": "resolution_id", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved_at": {"name": "resolved_at", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is un-resolved, this will be null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_id": {"name": "status_id", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_changed_at": {"name": "status_changed_at", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_name": {"name": "issue_name", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent_seconds": {"name": "time_spent_seconds", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n \n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_tmp\"\n \n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n\n \n cast(null as boolean) as \n \n _fivetran_deleted\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n float\n) as \n \n _original_estimate\n \n , \n cast(null as \n float\n) as \n \n _remaining_estimate\n \n , \n cast(null as \n float\n) as \n \n _time_spent\n \n , \n cast(null as \n varchar\n) as \n \n assignee\n \n , \n cast(null as \n timestamp\n) as \n \n created\n \n , \n cast(null as \n varchar\n) as \n \n creator\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as date) as \n \n due_date\n \n , \n cast(null as \n varchar\n) as \n \n environment\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n int\n) as \n \n issue_type\n \n , \n cast(null as \n varchar\n) as \n \n key\n \n , \n cast(null as \n float\n) as \n \n original_estimate\n \n , \n cast(null as \n int\n) as \n \n parent_id\n \n , \n cast(null as \n int\n) as \n \n priority\n \n , \n cast(null as \n int\n) as \n \n project\n \n , \n cast(null as \n float\n) as \n \n remaining_estimate\n \n , \n cast(null as \n varchar\n) as \n \n reporter\n \n , \n cast(null as \n int\n) as \n \n resolution\n \n , \n cast(null as \n timestamp\n) as \n \n resolved\n \n , \n cast(null as \n int\n) as \n \n status\n \n , \n cast(null as \n timestamp\n) as \n \n status_category_changed\n \n , \n cast(null as \n varchar\n) as \n \n summary\n \n , \n cast(null as \n float\n) as \n \n time_spent\n \n , \n cast(null as \n timestamp\n) as \n \n updated\n \n , \n cast(null as \n float\n) as \n \n work_ratio\n \n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n created as created_at,\n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n resolved as resolved_at,\n status as status_id,\n status_category_changed as status_changed_at,\n summary as issue_name,\n updated as updated_at,\n work_ratio,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue\""}, "model.jira_source.stg_jira__status_category": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_category_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__status_category_tmp')),\n staging_columns=get_status_category_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_category_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__status_category"], "unique_id": "model.jira_source.stg_jira__status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__status_category.sql", "original_file_path": "models/stg_jira__status_category.sql", "name": "stg_jira__status_category", "alias": "stg_jira__status_category", "checksum": {"name": "sha256", "checksum": "36e4a14f247b045781df447647e36d7b11d25de15f0b43b02a7265613ca85698"}, "tags": [], "refs": [["stg_jira__status_category_tmp"], ["stg_jira__status_category_tmp"]], "sources": [], "description": "Table of umbrella status categories.", "columns": {"status_category_id": {"name": "status_category_id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_name": {"name": "status_category_name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status_category.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_category_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_category\""}, "model.jira_source.stg_jira__issue_multiselect_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_multiselect_history_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_multiselect_history_tmp')),\n staging_columns=get_issue_multiselect_history_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n \"TIME\"\n {% elif target.type == 'redshift' %}\n \"time\"\n {% else %}\n time\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_multiselect_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_multiselect_history"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__issue_multiselect_history.sql", "original_file_path": "models/stg_jira__issue_multiselect_history.sql", "name": "stg_jira__issue_multiselect_history", "alias": "stg_jira__issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "99f7cf2b2ac31814b01f97db949d8000198b0800eb5305b58f58c7b61c87f0ee"}, "tags": [], "refs": [["stg_jira__issue_multiselect_history_tmp"], ["stg_jira__issue_multiselect_history_tmp"]], "sources": [], "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_multiselect_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_multiselect_history_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n varchar\n) as \n \n _fivetran_id\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n field_id\n \n , \n cast(null as \n int\n) as \n \n issue_id\n \n , \n cast(null as \n varchar\n) as \n \n value\n \n , \n cast(null as \n timestamp\n) as \n \n time\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as \n varchar\n) as field_id,\n issue_id,\n \n time\n as updated_at,\n value as field_value,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_multiselect_history\""}, "model.jira_source.stg_jira__issue_type": {"raw_sql": "with base as (\n\n select * from \n {{ ref('stg_jira__issue_type_tmp') }}\n \n),\n\nfields as (\n\n select \n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_type_tmp')),\n staging_columns=get_issue_type_columns()\n )\n }}\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_type_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_type"], "unique_id": "model.jira_source.stg_jira__issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__issue_type.sql", "original_file_path": "models/stg_jira__issue_type.sql", "name": "stg_jira__issue_type", "alias": "stg_jira__issue_type", "checksum": {"name": "sha256", "checksum": "1b9988e6866419b91df2b989d65131879f58f20753fa26f69dcbc22a0f96c2af"}, "tags": [], "refs": [["stg_jira__issue_type_tmp"], ["stg_jira__issue_type_tmp"]], "sources": [], "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"issue_type_id": {"name": "issue_type_id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_name": {"name": "issue_type_name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_subtask": {"name": "is_subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_type.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * from \n \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_type_tmp\"\n \n),\n\nfields as (\n\n select \n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n subtask\n \n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n\n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_type\""}, "model.jira_source.stg_jira__issue_link": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_link_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_link_tmp')),\n staging_columns=get_issue_link_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_link_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_link"], "unique_id": "model.jira_source.stg_jira__issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__issue_link.sql", "original_file_path": "models/stg_jira__issue_link.sql", "name": "stg_jira__issue_link", "alias": "stg_jira__issue_link", "checksum": {"name": "sha256", "checksum": "7c33eaccb37e9add23a9c8b9bd3b5876d6cf5bc3e6da4943829c35b681afdeed"}, "tags": [], "refs": [["stg_jira__issue_link_tmp"], ["stg_jira__issue_link_tmp"]], "sources": [], "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_link.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_link_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int\n) as \n \n issue_id\n \n , \n cast(null as \n int\n) as \n \n related_issue_id\n \n , \n cast(null as \n varchar\n) as \n \n relationship\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_link\""}, "model.jira_source.stg_jira__component": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__component_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__component_tmp')),\n staging_columns=get_component_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_component_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__component"], "unique_id": "model.jira_source.stg_jira__component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__component.sql", "original_file_path": "models/stg_jira__component.sql", "name": "stg_jira__component", "alias": "stg_jira__component", "checksum": {"name": "sha256", "checksum": "73386fce445a06f352edac742c56e4eb48615f8492156a1539c6d33ff88495eb"}, "tags": [], "refs": [["stg_jira__component_tmp"], ["stg_jira__component_tmp"]], "sources": [], "description": "Table of project components (subsections to group issues).", "columns": {"component_id": {"name": "component_id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_description": {"name": "component_description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_name": {"name": "component_name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__component.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1629409018, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__component_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as \n int\n) as \n \n project_id\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__component\""}, "model.jira_source.stg_jira__user": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__user_tmp') }}\n\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_jira__user_tmp')),\n staging_columns=get_user_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_user_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__user"], "unique_id": "model.jira_source.stg_jira__user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__user.sql", "original_file_path": "models/stg_jira__user.sql", "name": "stg_jira__user", "alias": "stg_jira__user", "checksum": {"name": "sha256", "checksum": "6587fd64f4870b76112152a4d5a9d7ddc453047424fc956056d4a346de18efc1"}, "tags": [], "refs": [["stg_jira__user_tmp"], ["stg_jira__user_tmp"]], "sources": [], "description": "Table of users associated with your organization.", "columns": {"user_id": {"name": "user_id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "user_display_name": {"name": "user_display_name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__user.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__user_tmp\"\n\n),\n\nfields as (\n\n select \n\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n email\n \n , \n cast(null as \n varchar\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n locale\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n , \n cast(null as \n varchar\n) as \n \n time_zone\n \n , \n cast(null as \n varchar\n) as \n \n username\n \n \n\n\n \n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__user\""}, "model.jira_source.stg_jira__priority": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__priority_tmp') }}\n\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__priority_tmp')),\n staging_columns=get_priority_columns()\n )\n }}\n \n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_priority_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"]}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__priority"], "unique_id": "model.jira_source.stg_jira__priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "stg_jira__priority.sql", "original_file_path": "models/stg_jira__priority.sql", "name": "stg_jira__priority", "alias": "stg_jira__priority", "checksum": {"name": "sha256", "checksum": "7598ddf2045ae1307d3b39cfda2be9adb17cc777d328ee2e6c3e51d159d932a1"}, "tags": [], "refs": [["stg_jira__priority_tmp"], ["stg_jira__priority_tmp"]], "sources": [], "description": "Table of issue priority levels (global).", "columns": {"priority_id": {"name": "priority_id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_description": {"name": "priority_description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_name": {"name": "priority_name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__priority.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__priority_tmp\"\n\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n varchar\n) as \n \n description\n \n , \n cast(null as \n int\n) as \n \n id\n \n , \n cast(null as \n varchar\n) as \n \n name\n \n \n\n\n \n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n \n from fields\n)\n\nselect * from final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__priority\""}, "model.jira_source.stg_jira__version_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nselect * from {{ var('version') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.version"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__version_tmp"], "unique_id": "model.jira_source.stg_jira__version_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__version_tmp.sql", "original_file_path": "models/tmp/stg_jira__version_tmp.sql", "name": "stg_jira__version_tmp", "alias": "stg_jira__version_tmp", "checksum": {"name": "sha256", "checksum": "70990c38a6829e3b78c27cb3222fabd3e2d2b7153e0adcf0445af018bf7c2749"}, "tags": [], "refs": [["version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__version_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1629409018, "compiled_sql": "\n\nselect * from \"postgres\".\"youtube_analytics_integration_tests\".\"version\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__version_tmp\""}, "model.jira_source.stg_jira__status_category_tmp": {"raw_sql": "select * from {{ var('status_category') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.status_category"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_category_tmp"], "unique_id": "model.jira_source.stg_jira__status_category_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__status_category_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_category_tmp.sql", "name": "stg_jira__status_category_tmp", "alias": "stg_jira__status_category_tmp", "checksum": {"name": "sha256", "checksum": "784eb5fa50a0f94a2345e6ec0bbb50bb0cc0a30282d78edf3b2da5fed549620f"}, "tags": [], "refs": [["status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_category_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"status_category\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_category_tmp\""}, "model.jira_source.stg_jira__field_option_tmp": {"raw_sql": "select * from {{ var('field_option') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.field_option"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_option_tmp"], "unique_id": "model.jira_source.stg_jira__field_option_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__field_option_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_option_tmp.sql", "name": "stg_jira__field_option_tmp", "alias": "stg_jira__field_option_tmp", "checksum": {"name": "sha256", "checksum": "7570d654dcbce4c46f763a9f3be88065d37e8f7a6c81a0bab3c2d5e0126d786d"}, "tags": [], "refs": [["field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_option_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"field_option\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field_option_tmp\""}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"raw_sql": "select * from {{ var('issue_multiselect_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.issue_multiselect_history"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_multiselect_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__issue_multiselect_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "name": "stg_jira__issue_multiselect_history_tmp", "alias": "stg_jira__issue_multiselect_history_tmp", "checksum": {"name": "sha256", "checksum": "f43e96b075cea30e14d4d76d3bd9b806eb9b6f84d2736df33646425ff4be0e77"}, "tags": [], "refs": [["issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"issue_multiselect_history\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_multiselect_history_tmp\""}, "model.jira_source.stg_jira__issue_type_tmp": {"raw_sql": "select * from {{ var('issue_type') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.issue_type"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_type_tmp"], "unique_id": "model.jira_source.stg_jira__issue_type_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__issue_type_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_type_tmp.sql", "name": "stg_jira__issue_type_tmp", "alias": "stg_jira__issue_type_tmp", "checksum": {"name": "sha256", "checksum": "bffcf4afb949729af6f61f5e691fcf0c61f2594f1771fd3a7cd4b114968d153c"}, "tags": [], "refs": [["issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_type_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"issue_type\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_type_tmp\""}, "model.jira_source.stg_jira__sprint_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nselect * from {{ var('sprint') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.sprint"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__sprint_tmp"], "unique_id": "model.jira_source.stg_jira__sprint_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__sprint_tmp.sql", "original_file_path": "models/tmp/stg_jira__sprint_tmp.sql", "name": "stg_jira__sprint_tmp", "alias": "stg_jira__sprint_tmp", "checksum": {"name": "sha256", "checksum": "40b480e416eaa446cbf3e3b2ede1db066d787485a12fc9da625d54a02c76c6e6"}, "tags": [], "refs": [["sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__sprint_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1629409018, "compiled_sql": "\n\nselect * from \"postgres\".\"youtube_analytics_integration_tests\".\"sprint\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__sprint_tmp\""}, "model.jira_source.stg_jira__status_tmp": {"raw_sql": "select * from {{ var('status') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.status"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_tmp"], "unique_id": "model.jira_source.stg_jira__status_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__status_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_tmp.sql", "name": "stg_jira__status_tmp", "alias": "stg_jira__status_tmp", "checksum": {"name": "sha256", "checksum": "1470770cc93525f2734a20d9757a28ab732f55d034f6de6b0f0f22876d2cee63"}, "tags": [], "refs": [["status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"status\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_tmp\""}, "model.jira_source.stg_jira__project_tmp": {"raw_sql": "select * from {{ var('project') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.project"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__project_tmp"], "unique_id": "model.jira_source.stg_jira__project_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__project_tmp.sql", "original_file_path": "models/tmp/stg_jira__project_tmp.sql", "name": "stg_jira__project_tmp", "alias": "stg_jira__project_tmp", "checksum": {"name": "sha256", "checksum": "0b8641c38b0fa0aaddccdf2cdbd36e0c283c86f69b7df127112adfa9afec84fc"}, "tags": [], "refs": [["project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__project_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"project\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__project_tmp\""}, "model.jira_source.stg_jira__comment_tmp": {"raw_sql": "select * from {{ var('comment') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.comment"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__comment_tmp"], "unique_id": "model.jira_source.stg_jira__comment_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__comment_tmp.sql", "original_file_path": "models/tmp/stg_jira__comment_tmp.sql", "name": "stg_jira__comment_tmp", "alias": "stg_jira__comment_tmp", "checksum": {"name": "sha256", "checksum": "cc950971385e4ff0ec640af35d6901a254367426922499a9871077c3076c560a"}, "tags": [], "refs": [["comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__comment_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"comment\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__comment_tmp\""}, "model.jira_source.stg_jira__issue_field_history_tmp": {"raw_sql": "select * from {{ var('issue_field_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.issue_field_history"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_field_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__issue_field_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_field_history_tmp.sql", "name": "stg_jira__issue_field_history_tmp", "alias": "stg_jira__issue_field_history_tmp", "checksum": {"name": "sha256", "checksum": "ebacd25dee6dfe779b29d2a76e16fc69ec7350686e963aa5f54e5b7cffc2fde8"}, "tags": [], "refs": [["issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_field_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"issue_field_history\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_field_history_tmp\""}, "model.jira_source.stg_jira__issue_link_tmp": {"raw_sql": "select * from {{ var('issue_link') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.issue_link"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_link_tmp"], "unique_id": "model.jira_source.stg_jira__issue_link_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__issue_link_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_link_tmp.sql", "name": "stg_jira__issue_link_tmp", "alias": "stg_jira__issue_link_tmp", "checksum": {"name": "sha256", "checksum": "c66bcdb514e01d0b2027634c96dc5e95833ea1120e97509e327fb3470b8cdf43"}, "tags": [], "refs": [["issue_link"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_link_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"issue_link\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_link_tmp\""}, "model.jira_source.stg_jira__field_tmp": {"raw_sql": "select * from {{ var('field') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.field"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_tmp"], "unique_id": "model.jira_source.stg_jira__field_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__field_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_tmp.sql", "name": "stg_jira__field_tmp", "alias": "stg_jira__field_tmp", "checksum": {"name": "sha256", "checksum": "549911af6f44aafd4a332646e4df4a7a29cff5da8493b9bd634c221cabddfb89"}, "tags": [], "refs": [["field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"field\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field_tmp\""}, "model.jira_source.stg_jira__user_tmp": {"raw_sql": "select * from {{ var('user') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.user"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__user_tmp"], "unique_id": "model.jira_source.stg_jira__user_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__user_tmp.sql", "original_file_path": "models/tmp/stg_jira__user_tmp.sql", "name": "stg_jira__user_tmp", "alias": "stg_jira__user_tmp", "checksum": {"name": "sha256", "checksum": "a190508c2bef51817218185f4b19b26f63dc5ca6e2ced9cfaaff42d7daf3a132"}, "tags": [], "refs": [["user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__user_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"user\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__user_tmp\""}, "model.jira_source.stg_jira__issue_tmp": {"raw_sql": "select * from {{ var('issue') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.issue"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_tmp"], "unique_id": "model.jira_source.stg_jira__issue_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__issue_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_tmp.sql", "name": "stg_jira__issue_tmp", "alias": "stg_jira__issue_tmp", "checksum": {"name": "sha256", "checksum": "bfeda5a55664969aadaaacdab9bed8cefb5a8a296f2c30dcfb3364e95bc534db"}, "tags": [], "refs": [["issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"issue\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_tmp\""}, "model.jira_source.stg_jira__priority_tmp": {"raw_sql": "select * from {{ var('priority') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.priority"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__priority_tmp"], "unique_id": "model.jira_source.stg_jira__priority_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__priority_tmp.sql", "original_file_path": "models/tmp/stg_jira__priority_tmp.sql", "name": "stg_jira__priority_tmp", "alias": "stg_jira__priority_tmp", "checksum": {"name": "sha256", "checksum": "7264e9e12e2fb6cb59a3eb8d7a28203624476a2b86d567ecf1bb0dc1e8166d0a"}, "tags": [], "refs": [["priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__priority_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"priority\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__priority_tmp\""}, "model.jira_source.stg_jira__component_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nselect * from {{ var('component') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.component"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__component_tmp"], "unique_id": "model.jira_source.stg_jira__component_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__component_tmp.sql", "original_file_path": "models/tmp/stg_jira__component_tmp.sql", "name": "stg_jira__component_tmp", "alias": "stg_jira__component_tmp", "checksum": {"name": "sha256", "checksum": "99bd937ba0769fb9c44761cfbb74b712d38bffb07eca689287547acc412f42dc"}, "tags": [], "refs": [["component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__component_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1629409018, "compiled_sql": "\n\nselect * from \"postgres\".\"youtube_analytics_integration_tests\".\"component\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__component_tmp\""}, "model.jira_source.stg_jira__resolution_tmp": {"raw_sql": "select * from {{ var('resolution') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["seed.jira_source_integration_tests.resolution"]}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "full_refresh": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__resolution_tmp"], "unique_id": "model.jira_source.stg_jira__resolution_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "tmp/stg_jira__resolution_tmp.sql", "original_file_path": "models/tmp/stg_jira__resolution_tmp.sql", "name": "stg_jira__resolution_tmp", "alias": "stg_jira__resolution_tmp", "checksum": {"name": "sha256", "checksum": "7584db76a7b71b3a70e03d321635934d62393adb6c8c5cad27cbdbb75cff3683"}, "tags": [], "refs": [["resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__resolution_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1629409018, "compiled_sql": "select * from \"postgres\".\"youtube_analytics_integration_tests\".\"resolution\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__resolution_tmp\""}, "test.jira_source.unique_stg_jira__comment_comment_id.d9bd210c2f": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "comment_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__comment') }} where {{config.get('where')}}) stg_jira__comment{% else %}{{ ref('stg_jira__comment') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.d9bd210c2f", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__comment_comment_id", "alias": "unique_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n comment_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__comment\"\nwhere comment_id is not null\ngroup by comment_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id"}, "test.jira_source.not_null_stg_jira__comment_comment_id.f29197ba2b": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "comment_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__comment') }} where {{config.get('where')}}) stg_jira__comment{% else %}{{ ref('stg_jira__comment') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.f29197ba2b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__comment_comment_id", "alias": "not_null_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__comment\"\nwhere comment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id"}, "test.jira_source.unique_stg_jira__component_component_id.0a0525fc7a": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "component_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__component') }} where {{config.get('where')}}) stg_jira__component{% else %}{{ ref('stg_jira__component') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__component_component_id"], "unique_id": "test.jira_source.unique_stg_jira__component_component_id.0a0525fc7a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__component_component_id", "alias": "unique_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n component_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__component\"\nwhere component_id is not null\ngroup by component_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id"}, "test.jira_source.not_null_stg_jira__component_component_id.91e2f0a550": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "component_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__component') }} where {{config.get('where')}}) stg_jira__component{% else %}{{ ref('stg_jira__component') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__component_component_id"], "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.91e2f0a550", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__component_component_id", "alias": "not_null_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__component\"\nwhere component_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id"}, "test.jira_source.unique_stg_jira__field_field_id.2a963c9cd6": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "field_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__field') }} where {{config.get('where')}}) stg_jira__field{% else %}{{ ref('stg_jira__field') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__field_field_id"], "unique_id": "test.jira_source.unique_stg_jira__field_field_id.2a963c9cd6", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__field_field_id", "alias": "unique_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n field_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field\"\nwhere field_id is not null\ngroup by field_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id"}, "test.jira_source.not_null_stg_jira__field_field_id.3d0f2d42aa": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__field') }} where {{config.get('where')}}) stg_jira__field{% else %}{{ ref('stg_jira__field') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__field_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.3d0f2d42aa", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_field_id", "alias": "not_null_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field\"\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id"}, "test.jira_source.not_null_stg_jira__field_option_field_id.5f66f5a48c": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__field_option') }} where {{config.get('where')}}) stg_jira__field_option{% else %}{{ ref('stg_jira__field_option') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__field_option"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__field_option_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.5f66f5a48c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__field_option_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_option_field_id", "alias": "not_null_stg_jira__field_option_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__field_option_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__field_option\"\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id"}, "test.jira_source.unique_stg_jira__issue_issue_id.03fe766354": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__issue') }} where {{config.get('where')}}) stg_jira__issue{% else %}{{ ref('stg_jira__issue') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.03fe766354", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_issue_id", "alias": "unique_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n issue_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue\"\nwhere issue_id is not null\ngroup by issue_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id"}, "test.jira_source.not_null_stg_jira__issue_issue_id.8bc392cbf1": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__issue') }} where {{config.get('where')}}) stg_jira__issue{% else %}{{ ref('stg_jira__issue') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.8bc392cbf1", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_issue_id", "alias": "not_null_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue\"\nwhere issue_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.1042acf622": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_schema_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["field_id", "issue_id", "updated_at"], "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__issue_field_history') }} where {{config.get('where')}}) stg_jira__issue_field_history{% else %}{{ ref('stg_jira__issue_field_history') }}{% endif %}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt_utils.default__test_unique_combination_of_columns"], "nodes": ["model.jira_source.stg_jira__issue_field_history"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.1042acf622", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at", "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f"}, "created_at": 1629409018, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n field_id, issue_id, updated_at\n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_field_history\"\n group by field_id, issue_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.0749251d61": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_schema_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "updated_at"], "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__issue_multiselect_history') }} where {{config.get('where')}}) stg_jira__issue_multiselect_history{% else %}{{ ref('stg_jira__issue_multiselect_history') }}{% endif %}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt_utils.default__test_unique_combination_of_columns"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.0749251d61", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at", "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396"}, "created_at": 1629409018, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, updated_at\n from \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_multiselect_history\"\n group by _fivetran_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null}, "test.jira_source.unique_stg_jira__issue_type_issue_type_id.955926e223": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_type_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__issue_type') }} where {{config.get('where')}}) stg_jira__issue_type{% else %}{{ ref('stg_jira__issue_type') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.955926e223", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_type_issue_type_id", "alias": "unique_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n issue_type_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_type\"\nwhere issue_type_id is not null\ngroup by issue_type_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id"}, "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.d786288883": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_type_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__issue_type') }} where {{config.get('where')}}) stg_jira__issue_type{% else %}{{ ref('stg_jira__issue_type') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.d786288883", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_type_issue_type_id", "alias": "not_null_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__issue_type\"\nwhere issue_type_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id"}, "test.jira_source.unique_stg_jira__priority_priority_id.0b7b276375": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "priority_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__priority') }} where {{config.get('where')}}) stg_jira__priority{% else %}{{ ref('stg_jira__priority') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.0b7b276375", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__priority_priority_id", "alias": "unique_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n priority_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__priority\"\nwhere priority_id is not null\ngroup by priority_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id"}, "test.jira_source.not_null_stg_jira__priority_priority_id.b79273023b": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "priority_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__priority') }} where {{config.get('where')}}) stg_jira__priority{% else %}{{ ref('stg_jira__priority') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.b79273023b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__priority_priority_id", "alias": "not_null_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__priority\"\nwhere priority_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id"}, "test.jira_source.unique_stg_jira__project_project_id.912115f1d6": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "project_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__project') }} where {{config.get('where')}}) stg_jira__project{% else %}{{ ref('stg_jira__project') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__project_project_id"], "unique_id": "test.jira_source.unique_stg_jira__project_project_id.912115f1d6", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__project_project_id", "alias": "unique_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n project_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__project\"\nwhere project_id is not null\ngroup by project_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id"}, "test.jira_source.not_null_stg_jira__project_project_id.f5e172cc86": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "project_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__project') }} where {{config.get('where')}}) stg_jira__project{% else %}{{ ref('stg_jira__project') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__project_project_id"], "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.f5e172cc86", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__project_project_id", "alias": "not_null_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__project\"\nwhere project_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id"}, "test.jira_source.unique_stg_jira__resolution_resolution_id.16bc1cc87a": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "resolution_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__resolution') }} where {{config.get('where')}}) stg_jira__resolution{% else %}{{ ref('stg_jira__resolution') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.16bc1cc87a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__resolution_resolution_id", "alias": "unique_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n resolution_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__resolution\"\nwhere resolution_id is not null\ngroup by resolution_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id"}, "test.jira_source.not_null_stg_jira__resolution_resolution_id.b5c6c04a04": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "resolution_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__resolution') }} where {{config.get('where')}}) stg_jira__resolution{% else %}{{ ref('stg_jira__resolution') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.b5c6c04a04", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__resolution_resolution_id", "alias": "not_null_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__resolution\"\nwhere resolution_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id"}, "test.jira_source.unique_stg_jira__sprint_sprint_id.37c6cb5dd5": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "sprint_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__sprint') }} where {{config.get('where')}}) stg_jira__sprint{% else %}{{ ref('stg_jira__sprint') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.37c6cb5dd5", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__sprint_sprint_id", "alias": "unique_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n sprint_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__sprint\"\nwhere sprint_id is not null\ngroup by sprint_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id"}, "test.jira_source.not_null_stg_jira__sprint_sprint_id.dff664b00b": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "sprint_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__sprint') }} where {{config.get('where')}}) stg_jira__sprint{% else %}{{ ref('stg_jira__sprint') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.dff664b00b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__sprint_sprint_id", "alias": "not_null_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__sprint\"\nwhere sprint_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id"}, "test.jira_source.unique_stg_jira__status_status_id.95283577f4": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__status') }} where {{config.get('where')}}) stg_jira__status{% else %}{{ ref('stg_jira__status') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__status_status_id"], "unique_id": "test.jira_source.unique_stg_jira__status_status_id.95283577f4", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_status_id", "alias": "unique_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n status_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status\"\nwhere status_id is not null\ngroup by status_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id"}, "test.jira_source.not_null_stg_jira__status_status_id.7ff0967f1b": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__status') }} where {{config.get('where')}}) stg_jira__status{% else %}{{ ref('stg_jira__status') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__status_status_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.7ff0967f1b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_status_id", "alias": "not_null_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status\"\nwhere status_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id"}, "test.jira_source.unique_stg_jira__status_category_status_category_id.7bf49b8635": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_category_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__status_category') }} where {{config.get('where')}}) stg_jira__status_category{% else %}{{ ref('stg_jira__status_category') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.7bf49b8635", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_category_status_category_id", "alias": "unique_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n status_category_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_category\"\nwhere status_category_id is not null\ngroup by status_category_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id"}, "test.jira_source.not_null_stg_jira__status_category_status_category_id.8872b9ad2e": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_category_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__status_category') }} where {{config.get('where')}}) stg_jira__status_category{% else %}{{ ref('stg_jira__status_category') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.8872b9ad2e", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_category_status_category_id", "alias": "not_null_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__status_category\"\nwhere status_category_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id"}, "test.jira_source.unique_stg_jira__user_user_id.b84926f95b": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "user_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__user') }} where {{config.get('where')}}) stg_jira__user{% else %}{{ ref('stg_jira__user') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__user_user_id"], "unique_id": "test.jira_source.unique_stg_jira__user_user_id.b84926f95b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__user_user_id", "alias": "unique_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n user_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__user\"\nwhere user_id is not null\ngroup by user_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id"}, "test.jira_source.not_null_stg_jira__user_user_id.1f5f06ea2c": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "user_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__user') }} where {{config.get('where')}}) stg_jira__user{% else %}{{ ref('stg_jira__user') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__user_user_id"], "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.1f5f06ea2c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__user_user_id", "alias": "not_null_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__user\"\nwhere user_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id"}, "test.jira_source.unique_stg_jira__version_version_id.0ca1b61e10": {"raw_sql": "{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "version_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__version') }} where {{config.get('where')}}) stg_jira__version{% else %}{{ ref('stg_jira__version') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "unique_stg_jira__version_version_id"], "unique_id": "test.jira_source.unique_stg_jira__version_version_id.0ca1b61e10", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/unique_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__version_version_id", "alias": "unique_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/unique_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect\n version_id,\n count(*) as n_records\n\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__version\"\nwhere version_id is not null\ngroup by version_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.jira_source.not_null_stg_jira__version_version_id.72f3482281": {"raw_sql": "{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "version_id", "model": "{% if config.get('where') %}(select * from {{ ref('stg_jira__version') }} where {{config.get('where')}}) stg_jira__version{% else %}{{ ref('stg_jira__version') }}{% endif %}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "materialized": "test", "persist_docs": {}, "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0", "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "youtube_analytics_integration_tests_dbt_test__audit", "fqn": ["jira_source", "schema_test", "not_null_stg_jira__version_version_id"], "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.72f3482281", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "schema_test/not_null_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__version_version_id", "alias": "not_null_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": ["schema"], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/schema_test/not_null_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1629409018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"youtube_analytics_integration_tests_stg_jira\".\"stg_jira__version\"\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}}, "sources": {"source.jira_source.jira.comment": {"fqn": ["jira_source", "jira", "comment"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "comment", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "comment", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of comments made on issues.", "columns": {"id": {"name": "id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_id": {"name": "author_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the comment was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "update_author_id": {"name": "update_author_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"comment\"", "created_at": 1629409018}, "source.jira_source.jira.component": {"fqn": ["jira_source", "jira", "component"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "component", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "component", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project components (subsections to group issues).\n", "columns": {"id": {"name": "id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"component\"", "created_at": 1629409018}, "source.jira_source.jira.field": {"fqn": ["jira_source", "jira", "field"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issue fields.", "columns": {"id": {"name": "id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"field\"", "created_at": 1629409018}, "source.jira_source.jira.field_option": {"fqn": ["jira_source", "jira", "field_option"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field_option", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field_option", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all options related to custom fields.", "columns": {"id": {"name": "id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"field_option\"", "created_at": 1629409018}, "source.jira_source.jira.issue": {"fqn": ["jira_source", "jira", "issue"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"id": {"name": "id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean that is true if the row has been soft-deleted from the source.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee": {"name": "assignee", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator": {"name": "creator", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type": {"name": "issue_type", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_viewed": {"name": "last_viewed", "description": "Timestamp of when the user who set up the connector last viewed the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate": {"name": "original_estimate", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority": {"name": "priority", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project": {"name": "project", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate": {"name": "remaining_estimate", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter": {"name": "reporter", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution": {"name": "resolution", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved": {"name": "resolved", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is marked as un-resolved, this is null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_changed": {"name": "status_category_changed", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "summary": {"name": "summary", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent": {"name": "time_spent", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue\"", "created_at": 1629409018}, "source.jira_source.jira.issue_field_history": {"fqn": ["jira_source", "jira", "issue_field_history"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_field_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_field_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_field_history\"", "created_at": 1629409018}, "source.jira_source.jira.issue_link": {"fqn": ["jira_source", "jira", "issue_link"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_link", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_link", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_link\"", "created_at": 1629409018}, "source.jira_source.jira.issue_multiselect_history": {"fqn": ["jira_source", "jira", "issue_multiselect_history"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_multiselect_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_multiselect_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_multiselect_history\"", "created_at": 1629409018}, "source.jira_source.jira.issue_type": {"fqn": ["jira_source", "jira", "issue_type"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_type", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_type", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"id": {"name": "id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "subtask": {"name": "subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_type\"", "created_at": 1629409018}, "source.jira_source.jira.priority": {"fqn": ["jira_source", "jira", "priority"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "priority", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "priority", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of issue priority levels (global).", "columns": {"id": {"name": "id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"priority\"", "created_at": 1629409018}, "source.jira_source.jira.project": {"fqn": ["jira_source", "jira", "project"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "project", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "project", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all projects in your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lead_id": {"name": "lead_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_type_key": {"name": "project_type_key", "description": "ID of the type of project (ie 'software').", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"project\"", "created_at": 1629409018}, "source.jira_source.jira.resolution": {"fqn": ["jira_source", "jira", "resolution"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "resolution", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "resolution", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table storing the types of resolutions used by your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"resolution\"", "created_at": 1629409018}, "source.jira_source.jira.sprint": {"fqn": ["jira_source", "jira", "sprint"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "sprint", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "sprint", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all sprints.", "columns": {"id": {"name": "id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "complete_date": {"name": "complete_date", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_date": {"name": "end_date", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"sprint\"", "created_at": 1629409018}, "source.jira_source.jira.status": {"fqn": ["jira_source", "jira", "status"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"id": {"name": "id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"status\"", "created_at": 1629409018}, "source.jira_source.jira.status_category": {"fqn": ["jira_source", "jira", "status_category"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status_category", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status_category", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of overarching status categories.", "columns": {"id": {"name": "id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"status_category\"", "created_at": 1629409018}, "source.jira_source.jira.user": {"fqn": ["jira_source", "jira", "user"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "user", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "user", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of users associated with your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"user\"", "created_at": 1629409018}, "source.jira_source.jira.version": {"fqn": ["jira_source", "jira", "version"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "version", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "version", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project versions in your organization.", "columns": {"archived": {"name": "archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "overdue": {"name": "overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "released": {"name": "released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"version\"", "created_at": 1629409018}}, "macros": {"macro.dbt_postgres.postgres__get_catalog": {"unique_id": "macro.dbt_postgres.postgres__get_catalog", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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 = 'p' -- [p]ermanent table. Other values are [u]nlogged table, [t]emporary table\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": 1629409017}, "macro.dbt_postgres.postgres_get_relations": {"unique_id": "macro.dbt_postgres.postgres_get_relations", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__create_table_as": {"unique_id": "macro.dbt_postgres.postgres__create_table_as", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__get_create_index_sql": {"unique_id": "macro.dbt_postgres.postgres__get_create_index_sql", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__create_schema": {"unique_id": "macro.dbt_postgres.postgres__create_schema", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__drop_schema": {"unique_id": "macro.dbt_postgres.postgres__drop_schema", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__get_columns_in_relation": {"unique_id": "macro.dbt_postgres.postgres__get_columns_in_relation", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__list_relations_without_caching": {"unique_id": "macro.dbt_postgres.postgres__list_relations_without_caching", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__information_schema_name": {"unique_id": "macro.dbt_postgres.postgres__information_schema_name", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__list_schemas": {"unique_id": "macro.dbt_postgres.postgres__list_schemas", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__check_schema_exists": {"unique_id": "macro.dbt_postgres.postgres__check_schema_exists", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__current_timestamp": {"unique_id": "macro.dbt_postgres.postgres__current_timestamp", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__snapshot_string_as_time": {"unique_id": "macro.dbt_postgres.postgres__snapshot_string_as_time", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__snapshot_get_time": {"unique_id": "macro.dbt_postgres.postgres__snapshot_get_time", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__make_temp_relation": {"unique_id": "macro.dbt_postgres.postgres__make_temp_relation", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres_escape_comment": {"unique_id": "macro.dbt_postgres.postgres_escape_comment", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__alter_relation_comment": {"unique_id": "macro.dbt_postgres.postgres__alter_relation_comment", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "macro.dbt_postgres.postgres__alter_column_comment": {"unique_id": "macro.dbt_postgres.postgres__alter_column_comment", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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 {% for column_name in column_dict %}\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": 1629409017}, "macro.dbt_postgres.postgres__snapshot_merge_sql": {"unique_id": "macro.dbt_postgres.postgres__snapshot_merge_sql", "package_name": "dbt_postgres", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_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/test.sql", "original_file_path": "macros/materializations/test.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')(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": 1629409017}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/test.sql", "original_file_path": "macros/materializations/test.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": 1629409017}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_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/test.sql", "original_file_path": "macros/materializations/test.sql", "name": "materialization_test_default", "macro_sql": "\n\n{%- 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": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "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_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": 1629409017}, "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": ["macro.dbt_postgres.postgres__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.default__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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 = 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": 1629409017}, "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": ["macro.dbt.default__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["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": 1629409017}, "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 {% 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": 1629409017}, "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": ["macro.dbt.default__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.get_seed_column_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.basic_load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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 {% 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": 1629409017}, "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": [], "created_at": 1629409017}, "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\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 tmp_identifier = model['name'] + '__dbt_tmp' %}\n {% set backup_identifier = model['name'] + \"__dbt_backup\" %}\n\n {% set intermediate_relation = existing_relation.incorporate(path={\"identifier\": tmp_identifier}) %}\n {% set backup_relation = existing_relation.incorporate(path={\"identifier\": backup_identifier}) %}\n\n {% do adapter.drop_relation(intermediate_relation) %}\n {% do adapter.drop_relation(backup_relation) %}\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 {% 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 {% 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.run_hooks", "macro.dbt.create_table_as", "macro.dbt.should_full_refresh", "macro.dbt.make_temp_relation", "macro.dbt.run_query", "macro.dbt.incremental_upsert", "macro.dbt.statement", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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 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": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.common_get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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 {% 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.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.create_indexes", "macro.dbt.persist_docs", "macro.dbt.drop_relation_if_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_view_as", "macro.dbt.persist_docs", "macro.dbt.drop_relation_if_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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', macro_namespace = '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": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql')(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": 1629409017}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.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_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": 1629409017}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "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_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes')(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": 1629409017}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "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_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": 1629409017}, "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": ["macro.dbt.default__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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_postgres.postgres__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.default__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt.default__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["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": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.default__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt.statement", "macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": ["macro.dbt_postgres.postgres__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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": [], "created_at": 1629409017}, "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, column_name, to, field) %}\n\nwith child as (\n select * from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select * from {{ to }}\n)\n\nselect\n child.{{ column_name }}\n\nfrom child\nleft join parent\n on child.{{ column_name }} = parent.{{ field }}\n\nwhere parent.{{ field }} is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships') %}\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": 1629409017}, "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, 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": 1629409017}, "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": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null') %}\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": 1629409017}, "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, column_name) %}\n\nselect\n {{ column_name }},\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": 1629409017}, "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": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique') %}\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": 1629409017}, "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, 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 1\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": 1629409017}, "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": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values') %}\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": 1629409017}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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 {{ fields|join(' || ') }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": ["macro.dbt_utils.datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": ["macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": ["macro.dbt_utils.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.current_timestamp", "macro.dbt_utils.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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_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": 1629409017}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.safe_cast", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.safe_cast", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.dateadd", "macro.dbt_utils.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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 -- 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": 1629409017}, "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/Jira/dbt_jira_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": "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": 1629409017}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', 'dbt_utils') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.default__split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["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": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["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": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["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": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["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": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/fewer_rows_than.sql", "original_file_path": "macros/schema_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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/fewer_rows_than.sql", "original_file_path": "macros/schema_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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/accepted_range.sql", "original_file_path": "macros/schema_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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/accepted_range.sql", "original_file_path": "macros/schema_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 {{ column_name }}\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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/not_accepted_values.sql", "original_file_path": "macros/schema_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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/not_accepted_values.sql", "original_file_path": "macros/schema_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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/sequential_values.sql", "original_file_path": "macros/schema_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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/sequential_values.sql", "original_file_path": "macros/schema_tests/sequential_values.sql", "name": "default__test_sequential_values", "macro_sql": "{% macro default__test_sequential_values(model, column_name, interval=1, datepart=None) %}\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.type_timestamp", "macro.dbt_utils.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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": 1629409017}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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, 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, * from a_minus_b\n union all\n select 'b_minus_a' as which_diff, * 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": 1629409017}, "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/Jira/dbt_jira_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": "{% 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": 1629409017}, "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/Jira/dbt_jira_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', 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 }},\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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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/*\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": ["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": 1629409017}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["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": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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 * 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": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', 'dbt_utils')(from, relation_alias, except)) }}\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": 1629409017}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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( {% 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": 1629409017}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', 'dbt_utils')(relations, column_override, include, exclude, source_column_name)) }}\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": 1629409017}, "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/Jira/dbt_jira_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": ["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": 1629409017}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils.type_string", "macro.dbt_utils.hash", "macro.dbt_utils.concat"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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 when 'EXTERNAL TABLE' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt_utils._bigquery__get_matching_schemata"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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, order_by='count(*) desc', max_records=none, default=none) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default)) }}\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": 1629409017}, "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/Jira/dbt_jira_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, order_by='count(*) desc', 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 {%- 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\n select\n {{ column }} as value\n\n from {{ target_relation }}\n group by 1\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.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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 {{ dbt_utils.slugify(prefix ~ v ~ 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.slugify"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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('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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_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": ["macro.fivetran_utils.get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "name": "source_relation", "macro_sql": "{% macro source_relation() -%}\n\n{{ adapter.dispatch('source_relation', 'fivetran_utils') () }}\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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "name": "default__source_relation", "macro_sql": "{% macro default__source_relation() %}\n\n{% if var('union_schemas', none) %}\n, case\n {% for schema in var('union_schemas') %}\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_databases', none) %}\n, case\n {% for database in var('union_databases') %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%{{ database|lower }}.%' then '{{ database|lower }}'\n {% endfor %}\n end as source_relation\n{% else %}\n, '' as 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": 1629409017}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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 {% do base_columns.append({ \"name\": column.name, \"alias\": column.alias }) if column.alias else base_columns.append({ \"name\": column.name }) %}\n\n {% endfor %}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.fivetran_utils.staging_models_automation": {"unique_id": "macro.fivetran_utils.staging_models_automation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/staging_models_automation.sql", "original_file_path": "macros/staging_models_automation.sql", "name": "staging_models_automation", "macro_sql": "{% macro staging_models_automation(package, source_schema, source_database, tables) %}\n\n{% set package = \"\"~ package ~\"\" %}\n{% set source_schema = \"\"~ source_schema ~\"\" %}\n{% set source_database = \"\"~ source_database ~\"\" %}\n\n{% set zsh_command = \"source dbt_modules/fivetran_utils/columns_setup.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n\n{% for t in tables %}\n {% if t != tables[-1] %}\n {% set help_command = zsh_command + t + \" && \\n\" %}\n\n {% else %}\n {% set help_command = zsh_command + t %}\n\n {% endif %}\n {{ log(help_command, info=True) }}\n\n{% endfor %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": ["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": 1629409017}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": ["macro.dbt_utils.union_relations"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.default__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.default__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "default__get_columns_for_macro", "macro_sql": "{% macro default__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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.fivetran_utils.default__get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": ["macro.fivetran_utils.quote_column"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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 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": 1629409017}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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 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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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.name == source.name %}\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": 1629409017}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/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) -%}\n\n{{ adapter.dispatch('union_data', 'fivetran_utils') (table_identifier, database_variable, schema_variable, default_database, default_schema, default_variable) }}\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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "name": "default__union_data", "macro_sql": "{% macro default__union_data(table_identifier, database_variable, schema_variable, default_database, default_schema, default_variable) %}\n\n{% if var('union_schemas', none) %}\n\n {% set relations = [] %}\n\n {% for schema in var('union_schemas') %}\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_databases', none) %}\n\n {% set relations = [] %}\n\n {% for database in var('union_databases') %}\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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_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', '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": 1629409017}, "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/Jira/dbt_jira_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 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": 1629409017}, "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/Jira/dbt_jira_source/integration_tests/dbt_modules/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": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "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/Jira/dbt_jira_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": [], "created_at": 1629409017}, "macro.jira_source.get_issue_link_columns": {"unique_id": "macro.jira_source.get_issue_link_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_issue_link_columns.sql", "original_file_path": "macros/get_issue_link_columns.sql", "name": "get_issue_link_columns", "macro_sql": "{% macro get_issue_link_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"related_issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"relationship\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_issue_columns": {"unique_id": "macro.jira_source.get_issue_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_issue_columns.sql", "original_file_path": "macros/get_issue_columns.sql", "name": "get_issue_columns", "macro_sql": "{% macro get_issue_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"_original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"assignee\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creator\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"environment\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"issue_type\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n\n {\"name\": \"original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"priority\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reporter\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"resolution\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"resolved\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status_category_changed\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"updated\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"work_ratio\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_float", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_status_columns": {"unique_id": "macro.jira_source.get_status_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_status_columns.sql", "original_file_path": "macros/get_status_columns.sql", "name": "get_status_columns", "macro_sql": "{% macro get_status_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_status_category_columns": {"unique_id": "macro.jira_source.get_status_category_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_status_category_columns.sql", "original_file_path": "macros/get_status_category_columns.sql", "name": "get_status_category_columns", "macro_sql": "{% macro get_status_category_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_issue_field_history_columns": {"unique_id": "macro.jira_source.get_issue_field_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_issue_field_history_columns.sql", "original_file_path": "macros/get_issue_field_history_columns.sql", "name": "get_issue_field_history_columns", "macro_sql": "{% macro get_issue_field_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1629409017}, "macro.jira_source.get_comment_columns": {"unique_id": "macro.jira_source.get_comment_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_comment_columns.sql", "original_file_path": "macros/get_comment_columns.sql", "name": "get_comment_columns", "macro_sql": "{% macro get_comment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"body\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"is_public\", \"datatype\": \"boolean\"},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"update_author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated\", \"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", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_field_columns": {"unique_id": "macro.jira_source.get_field_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_field_columns.sql", "original_file_path": "macros/get_field_columns.sql", "name": "get_field_columns", "macro_sql": "{% macro get_field_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_array\", \"datatype\": \"boolean\"},\n {\"name\": \"is_custom\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_version_columns": {"unique_id": "macro.jira_source.get_version_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_version_columns.sql", "original_file_path": "macros/get_version_columns.sql", "name": "get_version_columns", "macro_sql": "{% macro get_version_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"overdue\", \"datatype\": \"boolean\"},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"release_date\", \"datatype\": \"date\"},\n {\"name\": \"released\", \"datatype\": \"boolean\"},\n {\"name\": \"start_date\", \"datatype\": \"date\"}\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": 1629409017}, "macro.jira_source.get_field_option_columns": {"unique_id": "macro.jira_source.get_field_option_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_field_option_columns.sql", "original_file_path": "macros/get_field_option_columns.sql", "name": "get_field_option_columns", "macro_sql": "{% macro get_field_option_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_issue_multiselect_history_columns": {"unique_id": "macro.jira_source.get_issue_multiselect_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_issue_multiselect_history_columns.sql", "original_file_path": "macros/get_issue_multiselect_history_columns.sql", "name": "get_issue_multiselect_history_columns", "macro_sql": "{% macro get_issue_multiselect_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\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1629409017}, "macro.jira_source.get_epic_columns": {"unique_id": "macro.jira_source.get_epic_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_epic_columns.sql", "original_file_path": "macros/get_epic_columns.sql", "name": "get_epic_columns", "macro_sql": "{% macro get_epic_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"done\", \"datatype\": \"boolean\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_issue_type_columns": {"unique_id": "macro.jira_source.get_issue_type_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_issue_type_columns.sql", "original_file_path": "macros/get_issue_type_columns.sql", "name": "get_issue_type_columns", "macro_sql": "{% macro get_issue_type_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"subtask\", \"datatype\": \"boolean\"}\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": 1629409017}, "macro.jira_source.get_user_columns": {"unique_id": "macro.jira_source.get_user_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_user_columns.sql", "original_file_path": "macros/get_user_columns.sql", "name": "get_user_columns", "macro_sql": "{% macro get_user_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"email\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"locale\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"username\", \"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": 1629409017}, "macro.jira_source.get_project_columns": {"unique_id": "macro.jira_source.get_project_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_project_columns.sql", "original_file_path": "macros/get_project_columns.sql", "name": "get_project_columns", "macro_sql": "{% macro get_project_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"lead_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"permission_scheme_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_resolution_columns": {"unique_id": "macro.jira_source.get_resolution_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_resolution_columns.sql", "original_file_path": "macros/get_resolution_columns.sql", "name": "get_resolution_columns", "macro_sql": "{% macro get_resolution_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_component_columns": {"unique_id": "macro.jira_source.get_component_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_component_columns.sql", "original_file_path": "macros/get_component_columns.sql", "name": "get_component_columns", "macro_sql": "{% macro get_component_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_priority_columns": {"unique_id": "macro.jira_source.get_priority_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_priority_columns.sql", "original_file_path": "macros/get_priority_columns.sql", "name": "get_priority_columns", "macro_sql": "{% macro get_priority_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}, "macro.jira_source.get_sprint_columns": {"unique_id": "macro.jira_source.get_sprint_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Jira/dbt_jira_source/integration_tests/dbt_modules/jira_source", "path": "macros/get_sprint_columns.sql", "original_file_path": "macros/get_sprint_columns.sql", "name": "get_sprint_columns", "macro_sql": "{% macro get_sprint_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"board_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"complete_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_date\", \"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_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1629409017}}, "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.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"], "model.jira_source.stg_jira__project": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"], "model.jira_source.stg_jira__issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"], "model.jira_source.stg_jira__version": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"], "model.jira_source.stg_jira__sprint": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"], "model.jira_source.stg_jira__field_option": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"], "model.jira_source.stg_jira__field": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"], "model.jira_source.stg_jira__resolution": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"], "model.jira_source.stg_jira__status": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"], "model.jira_source.stg_jira__issue": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"], "model.jira_source.stg_jira__status_category": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"], "model.jira_source.stg_jira__issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"], "model.jira_source.stg_jira__issue_type": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"], "model.jira_source.stg_jira__issue_link": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"], "model.jira_source.stg_jira__component": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"], "model.jira_source.stg_jira__user": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"], "model.jira_source.stg_jira__priority": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"], "model.jira_source.stg_jira__version_tmp": ["seed.jira_source_integration_tests.version"], "model.jira_source.stg_jira__status_category_tmp": ["seed.jira_source_integration_tests.status_category"], "model.jira_source.stg_jira__field_option_tmp": ["seed.jira_source_integration_tests.field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["seed.jira_source_integration_tests.issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["seed.jira_source_integration_tests.issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["seed.jira_source_integration_tests.sprint"], "model.jira_source.stg_jira__status_tmp": ["seed.jira_source_integration_tests.status"], "model.jira_source.stg_jira__project_tmp": ["seed.jira_source_integration_tests.project"], "model.jira_source.stg_jira__comment_tmp": ["seed.jira_source_integration_tests.comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["seed.jira_source_integration_tests.issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["seed.jira_source_integration_tests.issue_link"], "model.jira_source.stg_jira__field_tmp": ["seed.jira_source_integration_tests.field"], "model.jira_source.stg_jira__user_tmp": ["seed.jira_source_integration_tests.user"], "model.jira_source.stg_jira__issue_tmp": ["seed.jira_source_integration_tests.issue"], "model.jira_source.stg_jira__priority_tmp": ["seed.jira_source_integration_tests.priority"], "model.jira_source.stg_jira__component_tmp": ["seed.jira_source_integration_tests.component"], "model.jira_source.stg_jira__resolution_tmp": ["seed.jira_source_integration_tests.resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.d9bd210c2f": ["model.jira_source.stg_jira__comment"], "test.jira_source.not_null_stg_jira__comment_comment_id.f29197ba2b": ["model.jira_source.stg_jira__comment"], "test.jira_source.unique_stg_jira__component_component_id.0a0525fc7a": ["model.jira_source.stg_jira__component"], "test.jira_source.not_null_stg_jira__component_component_id.91e2f0a550": ["model.jira_source.stg_jira__component"], "test.jira_source.unique_stg_jira__field_field_id.2a963c9cd6": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_field_id.3d0f2d42aa": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_option_field_id.5f66f5a48c": ["model.jira_source.stg_jira__field_option"], "test.jira_source.unique_stg_jira__issue_issue_id.03fe766354": ["model.jira_source.stg_jira__issue"], "test.jira_source.not_null_stg_jira__issue_issue_id.8bc392cbf1": ["model.jira_source.stg_jira__issue"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.1042acf622": ["model.jira_source.stg_jira__issue_field_history"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.0749251d61": ["model.jira_source.stg_jira__issue_multiselect_history"], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.955926e223": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.d786288883": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.unique_stg_jira__priority_priority_id.0b7b276375": ["model.jira_source.stg_jira__priority"], "test.jira_source.not_null_stg_jira__priority_priority_id.b79273023b": ["model.jira_source.stg_jira__priority"], "test.jira_source.unique_stg_jira__project_project_id.912115f1d6": ["model.jira_source.stg_jira__project"], "test.jira_source.not_null_stg_jira__project_project_id.f5e172cc86": ["model.jira_source.stg_jira__project"], "test.jira_source.unique_stg_jira__resolution_resolution_id.16bc1cc87a": ["model.jira_source.stg_jira__resolution"], "test.jira_source.not_null_stg_jira__resolution_resolution_id.b5c6c04a04": ["model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__sprint_sprint_id.37c6cb5dd5": ["model.jira_source.stg_jira__sprint"], "test.jira_source.not_null_stg_jira__sprint_sprint_id.dff664b00b": ["model.jira_source.stg_jira__sprint"], "test.jira_source.unique_stg_jira__status_status_id.95283577f4": ["model.jira_source.stg_jira__status"], "test.jira_source.not_null_stg_jira__status_status_id.7ff0967f1b": ["model.jira_source.stg_jira__status"], "test.jira_source.unique_stg_jira__status_category_status_category_id.7bf49b8635": ["model.jira_source.stg_jira__status_category"], "test.jira_source.not_null_stg_jira__status_category_status_category_id.8872b9ad2e": ["model.jira_source.stg_jira__status_category"], "test.jira_source.unique_stg_jira__user_user_id.b84926f95b": ["model.jira_source.stg_jira__user"], "test.jira_source.not_null_stg_jira__user_user_id.1f5f06ea2c": ["model.jira_source.stg_jira__user"], "test.jira_source.unique_stg_jira__version_version_id.0ca1b61e10": ["model.jira_source.stg_jira__version"], "test.jira_source.not_null_stg_jira__version_version_id.72f3482281": ["model.jira_source.stg_jira__version"], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}, "child_map": {"seed.jira_source_integration_tests.issue_link": ["model.jira_source.stg_jira__issue_link_tmp"], "seed.jira_source_integration_tests.issue_type": ["model.jira_source.stg_jira__issue_type_tmp"], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": ["model.jira_source.stg_jira__resolution_tmp"], "seed.jira_source_integration_tests.version": ["model.jira_source.stg_jira__version_tmp"], "seed.jira_source_integration_tests.status": ["model.jira_source.stg_jira__status_tmp"], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": ["model.jira_source.stg_jira__component_tmp"], "seed.jira_source_integration_tests.project": ["model.jira_source.stg_jira__project_tmp"], "seed.jira_source_integration_tests.issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp"], "seed.jira_source_integration_tests.comment": ["model.jira_source.stg_jira__comment_tmp"], "seed.jira_source_integration_tests.issue": ["model.jira_source.stg_jira__issue_tmp"], "seed.jira_source_integration_tests.sprint": ["model.jira_source.stg_jira__sprint_tmp"], "seed.jira_source_integration_tests.field_option": ["model.jira_source.stg_jira__field_option_tmp"], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": ["model.jira_source.stg_jira__field_tmp"], "seed.jira_source_integration_tests.user": ["model.jira_source.stg_jira__user_tmp"], "seed.jira_source_integration_tests.priority": ["model.jira_source.stg_jira__priority_tmp"], "seed.jira_source_integration_tests.status_category": ["model.jira_source.stg_jira__status_category_tmp"], "seed.jira_source_integration_tests.issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp"], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["test.jira_source.not_null_stg_jira__comment_comment_id.f29197ba2b", "test.jira_source.unique_stg_jira__comment_comment_id.d9bd210c2f"], "model.jira_source.stg_jira__project": ["test.jira_source.not_null_stg_jira__project_project_id.f5e172cc86", "test.jira_source.unique_stg_jira__project_project_id.912115f1d6"], "model.jira_source.stg_jira__issue_field_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.1042acf622"], "model.jira_source.stg_jira__version": ["test.jira_source.not_null_stg_jira__version_version_id.72f3482281", "test.jira_source.unique_stg_jira__version_version_id.0ca1b61e10"], "model.jira_source.stg_jira__sprint": ["test.jira_source.not_null_stg_jira__sprint_sprint_id.dff664b00b", "test.jira_source.unique_stg_jira__sprint_sprint_id.37c6cb5dd5"], "model.jira_source.stg_jira__field_option": ["test.jira_source.not_null_stg_jira__field_option_field_id.5f66f5a48c"], "model.jira_source.stg_jira__field": ["test.jira_source.not_null_stg_jira__field_field_id.3d0f2d42aa", "test.jira_source.unique_stg_jira__field_field_id.2a963c9cd6"], "model.jira_source.stg_jira__resolution": ["test.jira_source.not_null_stg_jira__resolution_resolution_id.b5c6c04a04", "test.jira_source.unique_stg_jira__resolution_resolution_id.16bc1cc87a"], "model.jira_source.stg_jira__status": ["test.jira_source.not_null_stg_jira__status_status_id.7ff0967f1b", "test.jira_source.unique_stg_jira__status_status_id.95283577f4"], "model.jira_source.stg_jira__issue": ["test.jira_source.not_null_stg_jira__issue_issue_id.8bc392cbf1", "test.jira_source.unique_stg_jira__issue_issue_id.03fe766354"], "model.jira_source.stg_jira__status_category": ["test.jira_source.not_null_stg_jira__status_category_status_category_id.8872b9ad2e", "test.jira_source.unique_stg_jira__status_category_status_category_id.7bf49b8635"], "model.jira_source.stg_jira__issue_multiselect_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.0749251d61"], "model.jira_source.stg_jira__issue_type": ["test.jira_source.not_null_stg_jira__issue_type_issue_type_id.d786288883", "test.jira_source.unique_stg_jira__issue_type_issue_type_id.955926e223"], "model.jira_source.stg_jira__issue_link": [], "model.jira_source.stg_jira__component": ["test.jira_source.not_null_stg_jira__component_component_id.91e2f0a550", "test.jira_source.unique_stg_jira__component_component_id.0a0525fc7a"], "model.jira_source.stg_jira__user": ["test.jira_source.not_null_stg_jira__user_user_id.1f5f06ea2c", "test.jira_source.unique_stg_jira__user_user_id.b84926f95b"], "model.jira_source.stg_jira__priority": ["test.jira_source.not_null_stg_jira__priority_priority_id.b79273023b", "test.jira_source.unique_stg_jira__priority_priority_id.0b7b276375"], "model.jira_source.stg_jira__version_tmp": ["model.jira_source.stg_jira__version", "model.jira_source.stg_jira__version"], "model.jira_source.stg_jira__status_category_tmp": ["model.jira_source.stg_jira__status_category", "model.jira_source.stg_jira__status_category"], "model.jira_source.stg_jira__field_option_tmp": ["model.jira_source.stg_jira__field_option", "model.jira_source.stg_jira__field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["model.jira_source.stg_jira__issue_multiselect_history", "model.jira_source.stg_jira__issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["model.jira_source.stg_jira__issue_type", "model.jira_source.stg_jira__issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["model.jira_source.stg_jira__sprint", "model.jira_source.stg_jira__sprint"], "model.jira_source.stg_jira__status_tmp": ["model.jira_source.stg_jira__status", "model.jira_source.stg_jira__status"], "model.jira_source.stg_jira__project_tmp": ["model.jira_source.stg_jira__project", "model.jira_source.stg_jira__project"], "model.jira_source.stg_jira__comment_tmp": ["model.jira_source.stg_jira__comment", "model.jira_source.stg_jira__comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["model.jira_source.stg_jira__issue_field_history", "model.jira_source.stg_jira__issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["model.jira_source.stg_jira__issue_link", "model.jira_source.stg_jira__issue_link"], "model.jira_source.stg_jira__field_tmp": ["model.jira_source.stg_jira__field", "model.jira_source.stg_jira__field"], "model.jira_source.stg_jira__user_tmp": ["model.jira_source.stg_jira__user", "model.jira_source.stg_jira__user"], "model.jira_source.stg_jira__issue_tmp": ["model.jira_source.stg_jira__issue", "model.jira_source.stg_jira__issue"], "model.jira_source.stg_jira__priority_tmp": ["model.jira_source.stg_jira__priority", "model.jira_source.stg_jira__priority"], "model.jira_source.stg_jira__component_tmp": ["model.jira_source.stg_jira__component", "model.jira_source.stg_jira__component"], "model.jira_source.stg_jira__resolution_tmp": ["model.jira_source.stg_jira__resolution", "model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.d9bd210c2f": [], "test.jira_source.not_null_stg_jira__comment_comment_id.f29197ba2b": [], "test.jira_source.unique_stg_jira__component_component_id.0a0525fc7a": [], "test.jira_source.not_null_stg_jira__component_component_id.91e2f0a550": [], "test.jira_source.unique_stg_jira__field_field_id.2a963c9cd6": [], "test.jira_source.not_null_stg_jira__field_field_id.3d0f2d42aa": [], "test.jira_source.not_null_stg_jira__field_option_field_id.5f66f5a48c": [], "test.jira_source.unique_stg_jira__issue_issue_id.03fe766354": [], "test.jira_source.not_null_stg_jira__issue_issue_id.8bc392cbf1": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.1042acf622": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.0749251d61": [], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.955926e223": [], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.d786288883": [], "test.jira_source.unique_stg_jira__priority_priority_id.0b7b276375": [], "test.jira_source.not_null_stg_jira__priority_priority_id.b79273023b": [], "test.jira_source.unique_stg_jira__project_project_id.912115f1d6": [], "test.jira_source.not_null_stg_jira__project_project_id.f5e172cc86": [], "test.jira_source.unique_stg_jira__resolution_resolution_id.16bc1cc87a": [], "test.jira_source.not_null_stg_jira__resolution_resolution_id.b5c6c04a04": [], "test.jira_source.unique_stg_jira__sprint_sprint_id.37c6cb5dd5": [], "test.jira_source.not_null_stg_jira__sprint_sprint_id.dff664b00b": [], "test.jira_source.unique_stg_jira__status_status_id.95283577f4": [], "test.jira_source.not_null_stg_jira__status_status_id.7ff0967f1b": [], "test.jira_source.unique_stg_jira__status_category_status_category_id.7bf49b8635": [], "test.jira_source.not_null_stg_jira__status_category_status_category_id.8872b9ad2e": [], "test.jira_source.unique_stg_jira__user_user_id.b84926f95b": [], "test.jira_source.not_null_stg_jira__user_user_id.1f5f06ea2c": [], "test.jira_source.unique_stg_jira__version_version_id.0ca1b61e10": [], "test.jira_source.not_null_stg_jira__version_version_id.72f3482281": [], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}} \ 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-04-26T15:53:59.590293Z", "invocation_id": "838199f1-e0af-4819-8cf5-145c6fe6bbf5", "env": {}, "project_id": "759b74ce43947f5f4c91aeddc3e5bad3", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"model.jira_source.stg_jira__comment": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__comment_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_jira__comment_tmp')),\n staging_columns=get_comment_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n created as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n updated as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_comment_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__comment"], "unique_id": "model.jira_source.stg_jira__comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__comment.sql", "original_file_path": "models/stg_jira__comment.sql", "name": "stg_jira__comment", "alias": "stg_jira__comment", "checksum": {"name": "sha256", "checksum": "6f79d5abf5713211fbae5bf1f089f1a1be13ddb6c81798136e09d9928e818b09"}, "tags": [], "refs": [["stg_jira__comment_tmp"], ["stg_jira__comment_tmp"]], "sources": [], "description": "Table of comments made on issues.", "columns": {"comment_id": {"name": "comment_id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_user_id": {"name": "author_user_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the comment was created. TODO - get timezone clarification", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_update_user_id": {"name": "last_update_user_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_updated_at": {"name": "last_updated_at", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__comment.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.439359, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__comment_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 author_id\n \n as \n \n author_id\n \n, \n \n \n body\n \n as \n \n body\n \n, \n \n \n created\n \n as \n \n created\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n is_public\n \n as \n \n is_public\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n update_author_id\n \n as \n \n update_author_id\n \n, \n \n \n updated\n \n as \n \n updated\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n created as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n updated as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__comment`"}, "model.jira_source.stg_jira__project": {"raw_sql": "with base as (\n \n select *\n from {{ ref('stg_jira__project_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_jira__project_tmp')),\n staging_columns=get_project_columns()\n )\n }}\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_project_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__project"], "unique_id": "model.jira_source.stg_jira__project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__project.sql", "original_file_path": "models/stg_jira__project.sql", "name": "stg_jira__project", "alias": "stg_jira__project", "checksum": {"name": "sha256", "checksum": "b79355d418e10ba5291f50718372e85750c439981b28e786fd401fe7d51bd6fb"}, "tags": [], "refs": [["stg_jira__project_tmp"], ["stg_jira__project_tmp"]], "sources": [], "description": "Table of all projects in your organization.", "columns": {"project_id": {"name": "project_id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_description": {"name": "project_description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_key": {"name": "project_key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_lead_user_id": {"name": "project_lead_user_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_name": {"name": "project_name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__project.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.449641, "compiled_sql": "with base as (\n \n select *\n from `bq-project`.`dbt_joe_jira`.`stg_jira__project_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 description\n \n as \n \n description\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n key\n \n as \n \n key\n \n, \n \n \n lead_id\n \n as \n \n lead_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n permission_scheme_id\n \n as \n \n permission_scheme_id\n \n, \n \n \n project_category_id\n \n as \n \n project_category_id\n \n\n\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__project`"}, "model.jira_source.stg_jira__issue_field_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_field_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_jira__issue_field_history_tmp')),\n staging_columns=get_issue_field_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' -%}\n \"TIME\"\n {% elif target.type == 'redshift' -%}\n cast(\"time\" as timestamp without time zone)\n {% else -%}\n time\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_field_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_field_history"], "unique_id": "model.jira_source.stg_jira__issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_field_history.sql", "original_file_path": "models/stg_jira__issue_field_history.sql", "name": "stg_jira__issue_field_history", "alias": "stg_jira__issue_field_history", "checksum": {"name": "sha256", "checksum": "0c2bba09452a57ede52a04c6d5ccddeb3b1261ae372bcd9794cb5c0358d5cf99"}, "tags": [], "refs": [["stg_jira__issue_field_history_tmp"], ["stg_jira__issue_field_history_tmp"]], "sources": [], "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_field_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.445942, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_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 field_id\n \n as \n \n field_id\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n value\n \n as \n \n value\n \n, \n \n \n time\n \n as \n \n time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as \n string\n) as field_id,\n issue_id,\n time\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_history`"}, "model.jira_source.stg_jira__version": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__version_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_jira__version_tmp')),\n staging_columns=get_version_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n release_date,\n released as is_released,\n start_date\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_version_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__version"], "unique_id": "model.jira_source.stg_jira__version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__version.sql", "original_file_path": "models/stg_jira__version.sql", "name": "stg_jira__version", "alias": "stg_jira__version", "checksum": {"name": "sha256", "checksum": "79c39b967d8ce05834a67f613ee4dc80bafa158411357bba23935833a657437b"}, "tags": [], "refs": [["stg_jira__version_tmp"], ["stg_jira__version_tmp"]], "sources": [], "description": "Table of project versions in your organization.", "columns": {"is_archived": {"name": "is_archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_name": {"name": "version_name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_released": {"name": "is_released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__version.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira", "enabled": true}, "created_at": 1650988410.4549172, "compiled_sql": "\n\nwith base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__version_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as boolean) as \n \n archived\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n overdue\n \n , \n cast(null as \n int64\n) as \n \n project_id\n \n , \n cast(null as date) as \n \n release_date\n \n , \n cast(null as boolean) as \n \n released\n \n , \n cast(null as date) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n release_date,\n released as is_released,\n start_date\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__version`"}, "model.jira_source.stg_jira__sprint": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__sprint_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_jira__sprint_tmp')),\n staging_columns=get_sprint_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n complete_date as completed_at,\n end_date as ended_at,\n start_date as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_sprint_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__sprint"], "unique_id": "model.jira_source.stg_jira__sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__sprint.sql", "original_file_path": "models/stg_jira__sprint.sql", "name": "stg_jira__sprint", "alias": "stg_jira__sprint", "checksum": {"name": "sha256", "checksum": "15ce64365c8cb20a7b56e054fd2fcc80cefaccd6cc68b7e3d9287fda20299fc1"}, "tags": [], "refs": [["stg_jira__sprint_tmp"], ["stg_jira__sprint_tmp"]], "sources": [], "description": "Table of all sprints.", "columns": {"sprint_id": {"name": "sprint_id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "completed_at": {"name": "completed_at", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ended_at": {"name": "ended_at", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "sprint_name": {"name": "sprint_name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "started_at": {"name": "started_at", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__sprint.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira", "enabled": true}, "created_at": 1650988410.451275, "compiled_sql": "\n\nwith base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__sprint_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n board_id\n \n , \n cast(null as \n timestamp\n) as \n \n complete_date\n \n , \n cast(null as \n timestamp\n) as \n \n end_date\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n timestamp\n) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n complete_date as completed_at,\n end_date as ended_at,\n start_date as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__sprint`"}, "model.jira_source.stg_jira__field_option": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_option_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_jira__field_option_tmp')),\n staging_columns=get_field_option_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_option_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__field_option"], "unique_id": "model.jira_source.stg_jira__field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__field_option.sql", "original_file_path": "models/stg_jira__field_option.sql", "name": "stg_jira__field_option", "alias": "stg_jira__field_option", "checksum": {"name": "sha256", "checksum": "92dee2e3923eb2d830a7caa04c5564b4feb2dcc90af364b01ea5de717d2c38bb"}, "tags": [], "refs": [["stg_jira__field_option_tmp"], ["stg_jira__field_option_tmp"]], "sources": [], "description": "Table of all options related to custom fields.", "columns": {"field_id": {"name": "field_id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_option_name": {"name": "field_option_name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field_option.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.4414551, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__field_option_tmp`\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field_option`"}, "model.jira_source.stg_jira__field": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_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_jira__field_tmp')),\n staging_columns=get_field_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_string() }}) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__field"], "unique_id": "model.jira_source.stg_jira__field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__field.sql", "original_file_path": "models/stg_jira__field.sql", "name": "stg_jira__field", "alias": "stg_jira__field", "checksum": {"name": "sha256", "checksum": "bd9e1203d72fee62d517f29766a023fa75369dcfc43dd22d1c18a5b0ee6e430e"}, "tags": [], "refs": [["stg_jira__field_tmp"], ["stg_jira__field_tmp"]], "sources": [], "description": "Table of all issue fields.", "columns": {"field_id": {"name": "field_id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_name": {"name": "field_name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.440979, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__field_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 id\n \n as \n \n id\n \n, \n \n \n is_array\n \n as \n \n is_array\n \n, \n \n \n is_custom\n \n as \n \n is_custom\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as \n string\n) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field`"}, "model.jira_source.stg_jira__resolution": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__resolution_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_jira__resolution_tmp')),\n staging_columns=get_resolution_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_resolution_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__resolution"], "unique_id": "model.jira_source.stg_jira__resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__resolution.sql", "original_file_path": "models/stg_jira__resolution.sql", "name": "stg_jira__resolution", "alias": "stg_jira__resolution", "checksum": {"name": "sha256", "checksum": "df0a7fee42db70dbcfb35b1451336d745203a8ecdad4151617aae411dcf3ca5d"}, "tags": [], "refs": [["stg_jira__resolution_tmp"], ["stg_jira__resolution_tmp"]], "sources": [], "description": "Table storing the types of resolutions used by your organization.", "columns": {"resolution_id": {"name": "resolution_id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_description": {"name": "resolution_description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_name": {"name": "resolution_name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__resolution.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.450311, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__resolution_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 description\n \n as \n \n description\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 from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__resolution`"}, "model.jira_source.stg_jira__status": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_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_jira__status_tmp')),\n staging_columns=get_status_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__status"], "unique_id": "model.jira_source.stg_jira__status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__status.sql", "original_file_path": "models/stg_jira__status.sql", "name": "stg_jira__status", "alias": "stg_jira__status", "checksum": {"name": "sha256", "checksum": "648c813903f25664f0814e811e0d78023933601777f17ad4ee32a831477bc6e6"}, "tags": [], "refs": [["stg_jira__status_tmp"], ["stg_jira__status_tmp"]], "sources": [], "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"status_id": {"name": "status_id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_description": {"name": "status_description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_name": {"name": "status_name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.451992, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__status_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 description\n \n as \n \n description\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_category_id\n \n as \n \n status_category_id\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status`"}, "model.jira_source.stg_jira__issue": {"raw_sql": "with base as (\n \n select * \n from {{ ref('stg_jira__issue_tmp') }}\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_tmp')),\n staging_columns=get_issue_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n {% if target.type == 'redshift' -%}\n cast(created as timestamp without time zone) as created_at,\n cast(resolved as timestamp without time zone) as resolved_at,\n {% else -%}\n created as created_at,\n resolved as resolved_at,\n {% endif %}\n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n status_category_changed as status_changed_at,\n summary as issue_name,\n updated as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue"], "unique_id": "model.jira_source.stg_jira__issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue.sql", "original_file_path": "models/stg_jira__issue.sql", "name": "stg_jira__issue", "alias": "stg_jira__issue", "checksum": {"name": "sha256", "checksum": "b2e61c45d403fb92c86378ff4218e7e1826647bdeda22394683a13e4ed7f7662"}, "tags": [], "refs": [["stg_jira__issue_tmp"], ["stg_jira__issue_tmp"]], "sources": [], "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"issue_id": {"name": "issue_id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee_user_id": {"name": "assignee_user_id", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator_user_id": {"name": "creator_user_id", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_description": {"name": "issue_description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_id": {"name": "issue_type_id", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_key": {"name": "issue_key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate_seconds": {"name": "original_estimate_seconds", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_issue_id": {"name": "parent_issue_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_id": {"name": "priority_id", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate_seconds": {"name": "remaining_estimate_seconds", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter_user_id": {"name": "reporter_user_id", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_id": {"name": "resolution_id", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved_at": {"name": "resolved_at", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is un-resolved, this will be null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_id": {"name": "status_id", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_changed_at": {"name": "status_changed_at", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_name": {"name": "issue_name", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent_seconds": {"name": "time_spent_seconds", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.445226, "compiled_sql": "with base as (\n \n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_tmp`\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n _original_estimate\n \n as \n \n _original_estimate\n \n, \n \n \n _remaining_estimate\n \n as \n \n _remaining_estimate\n \n, \n \n \n _time_spent\n \n as \n \n _time_spent\n \n, \n \n \n assignee\n \n as \n \n assignee\n \n, \n \n \n created\n \n as \n \n created\n \n, \n \n \n creator\n \n as \n \n creator\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n environment\n \n as \n \n environment\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n issue_type\n \n as \n \n issue_type\n \n, \n \n \n key\n \n as \n \n key\n \n, \n \n \n original_estimate\n \n as \n \n original_estimate\n \n, \n \n \n parent_id\n \n as \n \n parent_id\n \n, \n \n \n priority\n \n as \n \n priority\n \n, \n \n \n project\n \n as \n \n project\n \n, \n \n \n remaining_estimate\n \n as \n \n remaining_estimate\n \n, \n \n \n reporter\n \n as \n \n reporter\n \n, \n \n \n resolution\n \n as \n \n resolution\n \n, \n \n \n resolved\n \n as \n \n resolved\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n status_category_changed\n \n as \n \n status_category_changed\n \n, \n \n \n summary\n \n as \n \n summary\n \n, \n \n \n time_spent\n \n as \n \n time_spent\n \n, \n \n \n updated\n \n as \n \n updated\n \n, \n \n \n work_ratio\n \n as \n \n work_ratio\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n created as created_at,\n resolved as resolved_at,\n \n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n status_category_changed as status_changed_at,\n summary as issue_name,\n updated as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue`"}, "model.jira_source.stg_jira__status_category": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_category_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_jira__status_category_tmp')),\n staging_columns=get_status_category_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_category_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__status_category"], "unique_id": "model.jira_source.stg_jira__status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__status_category.sql", "original_file_path": "models/stg_jira__status_category.sql", "name": "stg_jira__status_category", "alias": "stg_jira__status_category", "checksum": {"name": "sha256", "checksum": "f260e226e6da3a826497305326ddf19c4464f0f7c052f70251d11f7a641a5aa0"}, "tags": [], "refs": [["stg_jira__status_category_tmp"], ["stg_jira__status_category_tmp"]], "sources": [], "description": "Table of umbrella status categories.", "columns": {"status_category_id": {"name": "status_category_id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_name": {"name": "status_category_name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status_category.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.4525409, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__status_category_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 id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status_category`"}, "model.jira_source.stg_jira__issue_multiselect_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_multiselect_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_jira__issue_multiselect_history_tmp')),\n staging_columns=get_issue_multiselect_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n \"TIME\"\n {% elif target.type == 'redshift' %}\n \"time\"\n {% else %}\n time\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_multiselect_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_multiselect_history"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_multiselect_history.sql", "original_file_path": "models/stg_jira__issue_multiselect_history.sql", "name": "stg_jira__issue_multiselect_history", "alias": "stg_jira__issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "4290865bb2ef9e344383cf6056f4f178968b7d7fc34997541e6cc54370dbda8c"}, "tags": [], "refs": [["stg_jira__issue_multiselect_history_tmp"], ["stg_jira__issue_multiselect_history_tmp"]], "sources": [], "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_multiselect_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.446778, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_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 field_id\n \n as \n \n field_id\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n value\n \n as \n \n value\n \n, \n \n \n time\n \n as \n \n time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as \n string\n) as field_id,\n issue_id,\n \n time\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_history`"}, "model.jira_source.stg_jira__issue_type": {"raw_sql": "with base as (\n\n select * from \n {{ ref('stg_jira__issue_type_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_jira__issue_type_tmp')),\n staging_columns=get_issue_type_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_type_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_type"], "unique_id": "model.jira_source.stg_jira__issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_type.sql", "original_file_path": "models/stg_jira__issue_type.sql", "name": "stg_jira__issue_type", "alias": "stg_jira__issue_type", "checksum": {"name": "sha256", "checksum": "605f5eb9aee0eca280a7c9186d69c378ee3649cd35e495ed387e0a8c19b9cb64"}, "tags": [], "refs": [["stg_jira__issue_type_tmp"], ["stg_jira__issue_type_tmp"]], "sources": [], "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"issue_type_id": {"name": "issue_type_id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_name": {"name": "issue_type_name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_subtask": {"name": "is_subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_type.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.447946, "compiled_sql": "with base as (\n\n select * from \n `bq-project`.`dbt_joe_jira`.`stg_jira__issue_type_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 description\n \n as \n \n description\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 subtask\n \n as \n \n subtask\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_type`"}, "model.jira_source.stg_jira__issue_link": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_link_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_jira__issue_link_tmp')),\n staging_columns=get_issue_link_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_link_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_link"], "unique_id": "model.jira_source.stg_jira__issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_link.sql", "original_file_path": "models/stg_jira__issue_link.sql", "name": "stg_jira__issue_link", "alias": "stg_jira__issue_link", "checksum": {"name": "sha256", "checksum": "7b8846ace343b3984c16bccb1a7bc2f49c6eef1547dec7a2fbcb1a206daff5bb"}, "tags": [], "refs": [["stg_jira__issue_link_tmp"], ["stg_jira__issue_link_tmp"]], "sources": [], "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_link.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.4420202, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_link_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 issue_id\n \n as \n \n issue_id\n \n, \n \n \n related_issue_id\n \n as \n \n related_issue_id\n \n, \n \n \n relationship\n \n as \n \n relationship\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_link`"}, "model.jira_source.stg_jira__component": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__component_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_jira__component_tmp')),\n staging_columns=get_component_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_component_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__component"], "unique_id": "model.jira_source.stg_jira__component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__component.sql", "original_file_path": "models/stg_jira__component.sql", "name": "stg_jira__component", "alias": "stg_jira__component", "checksum": {"name": "sha256", "checksum": "22f31e1f8c71e992171ead7a23e0c61d654dab19ebec7e227c741a704887783d"}, "tags": [], "refs": [["stg_jira__component_tmp"], ["stg_jira__component_tmp"]], "sources": [], "description": "Table of project components (subsections to group issues).", "columns": {"component_id": {"name": "component_id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_description": {"name": "component_description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_name": {"name": "component_name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__component.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira", "enabled": true}, "created_at": 1650988410.440223, "compiled_sql": "\n\nwith base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__component_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 description\n \n as \n \n description\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 project_id\n \n as \n \n project_id\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__component`"}, "model.jira_source.stg_jira__user": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__user_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_jira__user_tmp')),\n staging_columns=get_user_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_user_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__user"], "unique_id": "model.jira_source.stg_jira__user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__user.sql", "original_file_path": "models/stg_jira__user.sql", "name": "stg_jira__user", "alias": "stg_jira__user", "checksum": {"name": "sha256", "checksum": "95b85f878a0a0784390ff0c1738c4bf709902531870b71fee4165f1628d4faa3"}, "tags": [], "refs": [["stg_jira__user_tmp"], ["stg_jira__user_tmp"]], "sources": [], "description": "Table of users associated with your organization.", "columns": {"user_id": {"name": "user_id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "user_display_name": {"name": "user_display_name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__user.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.453501, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__user_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 email\n \n as \n \n email\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n locale\n \n as \n \n locale\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n time_zone\n \n as \n \n time_zone\n \n, \n \n \n username\n \n as \n \n username\n \n\n\n\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__user`"}, "model.jira_source.stg_jira__priority": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__priority_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_jira__priority_tmp')),\n staging_columns=get_priority_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_priority_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__priority"], "unique_id": "model.jira_source.stg_jira__priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__priority.sql", "original_file_path": "models/stg_jira__priority.sql", "name": "stg_jira__priority", "alias": "stg_jira__priority", "checksum": {"name": "sha256", "checksum": "a8495cfa4a37528969e67b871bdf192c97a4a60dc507c0d919175f1b2552feb3"}, "tags": [], "refs": [["stg_jira__priority_tmp"], ["stg_jira__priority_tmp"]], "sources": [], "description": "Table of issue priority levels (global).", "columns": {"priority_id": {"name": "priority_id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_description": {"name": "priority_description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_name": {"name": "priority_name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__priority.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.448551, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__priority_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 description\n \n as \n \n description\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 from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__priority`"}, "model.jira_source.stg_jira__version_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nselect * \nfrom {{ var('version') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.version"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__version_tmp"], "unique_id": "model.jira_source.stg_jira__version_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__version_tmp.sql", "original_file_path": "models/tmp/stg_jira__version_tmp.sql", "name": "stg_jira__version_tmp", "alias": "stg_jira__version_tmp", "checksum": {"name": "sha256", "checksum": "4e16bea890df92fe2393d1e151479ee51ed270f40d9b4ba3f922d858787c347e"}, "tags": [], "refs": [], "sources": [["jira", "version"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__version_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira", "enabled": true}, "created_at": 1650988410.3846002, "compiled_sql": "\n\nselect * \nfrom `bq-project`.`jira_2`.`version`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__version_tmp`"}, "model.jira_source.stg_jira__status_category_tmp": {"raw_sql": "select * \nfrom {{ var('status_category') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status_category"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_category_tmp"], "unique_id": "model.jira_source.stg_jira__status_category_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__status_category_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_category_tmp.sql", "name": "stg_jira__status_category_tmp", "alias": "stg_jira__status_category_tmp", "checksum": {"name": "sha256", "checksum": "ce976a7afa132349c28940f9d387b3e635c9a6dd2576844347910580ea592a4b"}, "tags": [], "refs": [], "sources": [["jira", "status_category"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_category_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.389827, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`status_category`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status_category_tmp`"}, "model.jira_source.stg_jira__field_option_tmp": {"raw_sql": "select * \nfrom {{ var('field_option') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field_option"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_option_tmp"], "unique_id": "model.jira_source.stg_jira__field_option_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__field_option_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_option_tmp.sql", "name": "stg_jira__field_option_tmp", "alias": "stg_jira__field_option_tmp", "checksum": {"name": "sha256", "checksum": "cb1e64625d369889104ada54bf610b9aa36e1623853ae29ae24bd8f5bb4b2437"}, "tags": [], "refs": [], "sources": [["jira", "field_option"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_option_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.392342, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`field_option`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field_option_tmp`"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_multiselect_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_multiselect_history"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_multiselect_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_multiselect_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "name": "stg_jira__issue_multiselect_history_tmp", "alias": "stg_jira__issue_multiselect_history_tmp", "checksum": {"name": "sha256", "checksum": "faf8d7e362472ef899552eba8ee39c1fa8a1b803f64a639d6f481400861bc24a"}, "tags": [], "refs": [], "sources": [["jira", "issue_multiselect_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.394824, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_multiselect_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_history_tmp`"}, "model.jira_source.stg_jira__issue_type_tmp": {"raw_sql": "select * \nfrom {{ var('issue_type') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_type_tmp"], "unique_id": "model.jira_source.stg_jira__issue_type_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_type_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_type_tmp.sql", "name": "stg_jira__issue_type_tmp", "alias": "stg_jira__issue_type_tmp", "checksum": {"name": "sha256", "checksum": "166aa9a9ce724421198262fb67dd01b9130712cada1defcd20a991308676e5d0"}, "tags": [], "refs": [], "sources": [["jira", "issue_type"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_type_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.397333, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_type`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_type_tmp`"}, "model.jira_source.stg_jira__sprint_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nselect * \nfrom {{ var('sprint') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.sprint"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__sprint_tmp"], "unique_id": "model.jira_source.stg_jira__sprint_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__sprint_tmp.sql", "original_file_path": "models/tmp/stg_jira__sprint_tmp.sql", "name": "stg_jira__sprint_tmp", "alias": "stg_jira__sprint_tmp", "checksum": {"name": "sha256", "checksum": "a21fcc01937bc59051bdd08532e3cf8535b078b2204f659f9ef98817dfb0c463"}, "tags": [], "refs": [], "sources": [["jira", "sprint"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__sprint_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira", "enabled": true}, "created_at": 1650988410.3998709, "compiled_sql": "\n\nselect * \nfrom `bq-project`.`jira_2`.`sprint`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__sprint_tmp`"}, "model.jira_source.stg_jira__status_tmp": {"raw_sql": "select * \nfrom {{ var('status') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_tmp"], "unique_id": "model.jira_source.stg_jira__status_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__status_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_tmp.sql", "name": "stg_jira__status_tmp", "alias": "stg_jira__status_tmp", "checksum": {"name": "sha256", "checksum": "206c9a7f6e35d22a162df8e6d1ae4c121382af956e056ca619faff9986ab16b3"}, "tags": [], "refs": [], "sources": [["jira", "status"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.403203, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`status`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status_tmp`"}, "model.jira_source.stg_jira__project_tmp": {"raw_sql": "select * \nfrom {{ var('project') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.project"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__project_tmp"], "unique_id": "model.jira_source.stg_jira__project_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__project_tmp.sql", "original_file_path": "models/tmp/stg_jira__project_tmp.sql", "name": "stg_jira__project_tmp", "alias": "stg_jira__project_tmp", "checksum": {"name": "sha256", "checksum": "776cf64136ff22eaa9fddcb5b4aadd58e5b295800ffd8b3a2c3871ed22531599"}, "tags": [], "refs": [], "sources": [["jira", "project"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__project_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.405705, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`project`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__project_tmp`"}, "model.jira_source.stg_jira__comment_tmp": {"raw_sql": "select * \nfrom {{ var('comment') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.comment"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__comment_tmp"], "unique_id": "model.jira_source.stg_jira__comment_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__comment_tmp.sql", "original_file_path": "models/tmp/stg_jira__comment_tmp.sql", "name": "stg_jira__comment_tmp", "alias": "stg_jira__comment_tmp", "checksum": {"name": "sha256", "checksum": "50e78fc23c6041b43d46c0adf7f6cf3c1e2375ef3410fbdd2f527028d9830880"}, "tags": [], "refs": [], "sources": [["jira", "comment"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__comment_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.4082088, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`comment`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__comment_tmp`"}, "model.jira_source.stg_jira__issue_field_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_field_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_field_history"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_field_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_field_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_field_history_tmp.sql", "name": "stg_jira__issue_field_history_tmp", "alias": "stg_jira__issue_field_history_tmp", "checksum": {"name": "sha256", "checksum": "037b5bef93c17b862d1969a35a66f10feb507b34d943b093c13ace0298b5d855"}, "tags": [], "refs": [], "sources": [["jira", "issue_field_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_field_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.4107049, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_field_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_history_tmp`"}, "model.jira_source.stg_jira__issue_link_tmp": {"raw_sql": "select * \nfrom {{ var('issue_link') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_link"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_link_tmp"], "unique_id": "model.jira_source.stg_jira__issue_link_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_link_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_link_tmp.sql", "name": "stg_jira__issue_link_tmp", "alias": "stg_jira__issue_link_tmp", "checksum": {"name": "sha256", "checksum": "deb68ea3ff7d2f0d254d06e07829733756ce80efb7af5209e5ae43840b8e254a"}, "tags": [], "refs": [], "sources": [["jira", "issue_link"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_link_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.4131799, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_link`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_link_tmp`"}, "model.jira_source.stg_jira__field_tmp": {"raw_sql": "select * \nfrom {{ var('field') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_tmp"], "unique_id": "model.jira_source.stg_jira__field_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__field_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_tmp.sql", "name": "stg_jira__field_tmp", "alias": "stg_jira__field_tmp", "checksum": {"name": "sha256", "checksum": "aa842b8fc7fa2e61d4b04634ddae4948afce86a6c1ba37197e01c5baeef8f374"}, "tags": [], "refs": [], "sources": [["jira", "field"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.415651, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`field`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field_tmp`"}, "model.jira_source.stg_jira__user_tmp": {"raw_sql": "select * \nfrom {{ var('user') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.user"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__user_tmp"], "unique_id": "model.jira_source.stg_jira__user_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__user_tmp.sql", "original_file_path": "models/tmp/stg_jira__user_tmp.sql", "name": "stg_jira__user_tmp", "alias": "stg_jira__user_tmp", "checksum": {"name": "sha256", "checksum": "c6665b2e96c3536ab07cdc0fe31225a7be4766df0c7c353e3ade197bc8498279"}, "tags": [], "refs": [], "sources": [["jira", "user"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__user_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.418746, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`user`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__user_tmp`"}, "model.jira_source.stg_jira__issue_tmp": {"raw_sql": "select * \nfrom {{ var('issue') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_tmp"], "unique_id": "model.jira_source.stg_jira__issue_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_tmp.sql", "name": "stg_jira__issue_tmp", "alias": "stg_jira__issue_tmp", "checksum": {"name": "sha256", "checksum": "2f84522aea28fb2bef123eff34648c4777747064de156efaad69c053d3b06092"}, "tags": [], "refs": [], "sources": [["jira", "issue"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.421243, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_tmp`"}, "model.jira_source.stg_jira__priority_tmp": {"raw_sql": "select * \nfrom {{ var('priority') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.priority"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__priority_tmp"], "unique_id": "model.jira_source.stg_jira__priority_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__priority_tmp.sql", "original_file_path": "models/tmp/stg_jira__priority_tmp.sql", "name": "stg_jira__priority_tmp", "alias": "stg_jira__priority_tmp", "checksum": {"name": "sha256", "checksum": "1985fab4baa8555431839a35bc3966d7c3a7c67e746cc79a0c9caec5ab34cf90"}, "tags": [], "refs": [], "sources": [["jira", "priority"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__priority_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.423724, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`priority`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__priority_tmp`"}, "model.jira_source.stg_jira__component_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nselect * \nfrom {{ var('component') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.component"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__component_tmp"], "unique_id": "model.jira_source.stg_jira__component_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__component_tmp.sql", "original_file_path": "models/tmp/stg_jira__component_tmp.sql", "name": "stg_jira__component_tmp", "alias": "stg_jira__component_tmp", "checksum": {"name": "sha256", "checksum": "968da15f4a8dbb9e51d593dd0a95ff6081d5b2e3d8f0eb8daedaf2c283decd3c"}, "tags": [], "refs": [], "sources": [["jira", "component"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__component_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira", "enabled": true}, "created_at": 1650988410.4262269, "compiled_sql": "\n\nselect * \nfrom `bq-project`.`jira_2`.`component`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__component_tmp`"}, "model.jira_source.stg_jira__resolution_tmp": {"raw_sql": "select * \nfrom {{ var('resolution') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.resolution"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__resolution_tmp"], "unique_id": "model.jira_source.stg_jira__resolution_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__resolution_tmp.sql", "original_file_path": "models/tmp/stg_jira__resolution_tmp.sql", "name": "stg_jira__resolution_tmp", "alias": "stg_jira__resolution_tmp", "checksum": {"name": "sha256", "checksum": "4254df90446b8911d6664fb429ae20adfb05cfe415bed40e5563a5d5bb63786a"}, "tags": [], "refs": [], "sources": [["jira", "resolution"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__resolution_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.428965, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`resolution`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__resolution_tmp`"}, "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__comment_comment_id", "alias": "unique_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.458692, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select comment_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__comment`\n where comment_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__comment_comment_id", "alias": "not_null_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.459719, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__comment`\nwhere comment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__component_component_id"], "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__component_component_id", "alias": "unique_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.460657, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select component_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__component`\n where component_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__component_component_id"], "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__component_component_id", "alias": "not_null_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.461683, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__component`\nwhere component_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__field_field_id"], "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__field_field_id", "alias": "unique_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.462602, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select field_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__field`\n where field_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_field_id", "alias": "not_null_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.463495, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__field`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field_option')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field_option"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_option_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__field_option_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_option_field_id", "alias": "not_null_stg_jira__field_option_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_option_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.464389, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__field_option`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field_option"}, "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_issue_id", "alias": "unique_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4654112, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select issue_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue`\n where issue_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_issue_id", "alias": "not_null_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.466322, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__issue`\nwhere issue_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["field_id", "issue_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_field_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.jira_source.stg_jira__issue_field_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at", "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f"}, "created_at": 1650988410.4672241, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n field_id, issue_id, updated_at\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_history`\n group by field_id, issue_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_field_history"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_multiselect_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.jira_source.stg_jira__issue_multiselect_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at", "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396"}, "created_at": 1650988410.473953, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, updated_at\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_history`\n group by _fivetran_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_multiselect_history"}, "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_type_issue_type_id", "alias": "unique_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.476522, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select issue_type_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_type`\n where issue_type_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_type_issue_type_id", "alias": "not_null_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.477589, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__issue_type`\nwhere issue_type_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__priority_priority_id", "alias": "unique_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.478509, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select priority_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__priority`\n where priority_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__priority_priority_id", "alias": "not_null_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.479413, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__priority`\nwhere priority_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.unique_stg_jira__project_project_id.58d321d374": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__project_project_id"], "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__project_project_id", "alias": "unique_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.480314, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select project_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__project`\n where project_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__project_project_id"], "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__project_project_id", "alias": "not_null_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.481326, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__project`\nwhere project_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__resolution_resolution_id", "alias": "unique_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.482219, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select resolution_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__resolution`\n where resolution_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__resolution_resolution_id", "alias": "not_null_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.483119, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__resolution`\nwhere resolution_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__sprint_sprint_id", "alias": "unique_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4841201, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select sprint_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__sprint`\n where sprint_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__sprint_sprint_id", "alias": "not_null_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.485016, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__sprint`\nwhere sprint_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.unique_stg_jira__status_status_id.0449241b95": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_status_id"], "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_status_id", "alias": "unique_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.485913, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select status_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__status`\n where status_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_status_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_status_id", "alias": "not_null_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4868102, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__status`\nwhere status_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_category_status_category_id", "alias": "unique_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.487987, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select status_category_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__status_category`\n where status_category_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_category_status_category_id", "alias": "not_null_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.488883, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__status_category`\nwhere status_category_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__user_user_id"], "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__user_user_id", "alias": "unique_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4897642, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select user_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__user`\n where user_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__user_user_id"], "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__user_user_id", "alias": "not_null_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.490768, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__user`\nwhere user_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.unique_stg_jira__version_version_id.08231bd017": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__version_version_id"], "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__version_version_id", "alias": "unique_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.491659, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select version_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__version`\n where version_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}, "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__version_version_id"], "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__version_version_id", "alias": "not_null_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.492558, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__version`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}}, "sources": {"source.jira_source.jira.comment": {"fqn": ["jira_source", "jira", "comment"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "comment", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "comment", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of comments made on issues.", "columns": {"id": {"name": "id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_id": {"name": "author_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the comment was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "update_author_id": {"name": "update_author_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`comment`", "created_at": 1650988410.513816}, "source.jira_source.jira.component": {"fqn": ["jira_source", "jira", "component"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "component", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "component", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project components (subsections to group issues).\n", "columns": {"id": {"name": "id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`component`", "created_at": 1650988410.5139048}, "source.jira_source.jira.field": {"fqn": ["jira_source", "jira", "field"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issue fields.", "columns": {"id": {"name": "id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`field`", "created_at": 1650988410.5139682}, "source.jira_source.jira.field_option": {"fqn": ["jira_source", "jira", "field_option"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field_option", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field_option", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all options related to custom fields.", "columns": {"id": {"name": "id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`field_option`", "created_at": 1650988410.514028}, "source.jira_source.jira.issue": {"fqn": ["jira_source", "jira", "issue"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"id": {"name": "id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean that is true if the row has been soft-deleted from the source.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee": {"name": "assignee", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator": {"name": "creator", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type": {"name": "issue_type", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_viewed": {"name": "last_viewed", "description": "Timestamp of when the user who set up the connector last viewed the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate": {"name": "original_estimate", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority": {"name": "priority", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project": {"name": "project", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate": {"name": "remaining_estimate", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter": {"name": "reporter", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution": {"name": "resolution", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved": {"name": "resolved", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is marked as un-resolved, this is null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_changed": {"name": "status_category_changed", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "summary": {"name": "summary", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent": {"name": "time_spent", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue`", "created_at": 1650988410.514107}, "source.jira_source.jira.issue_field_history": {"fqn": ["jira_source", "jira", "issue_field_history"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_field_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_field_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_field_history`", "created_at": 1650988410.514167}, "source.jira_source.jira.issue_link": {"fqn": ["jira_source", "jira", "issue_link"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_link", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_link", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_link`", "created_at": 1650988410.514224}, "source.jira_source.jira.issue_multiselect_history": {"fqn": ["jira_source", "jira", "issue_multiselect_history"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_multiselect_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_multiselect_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_multiselect_history`", "created_at": 1650988410.514283}, "source.jira_source.jira.issue_type": {"fqn": ["jira_source", "jira", "issue_type"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_type", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_type", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"id": {"name": "id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "subtask": {"name": "subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_type`", "created_at": 1650988410.5143712}, "source.jira_source.jira.priority": {"fqn": ["jira_source", "jira", "priority"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "priority", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "priority", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of issue priority levels (global).", "columns": {"id": {"name": "id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`priority`", "created_at": 1650988410.51443}, "source.jira_source.jira.project": {"fqn": ["jira_source", "jira", "project"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "project", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "project", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all projects in your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lead_id": {"name": "lead_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_type_key": {"name": "project_type_key", "description": "ID of the type of project (ie 'software').", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`project`", "created_at": 1650988410.514493}, "source.jira_source.jira.resolution": {"fqn": ["jira_source", "jira", "resolution"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "resolution", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "resolution", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table storing the types of resolutions used by your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`resolution`", "created_at": 1650988410.514551}, "source.jira_source.jira.sprint": {"fqn": ["jira_source", "jira", "sprint"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "sprint", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "sprint", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all sprints.", "columns": {"id": {"name": "id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "complete_date": {"name": "complete_date", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_date": {"name": "end_date", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`sprint`", "created_at": 1650988410.5146098}, "source.jira_source.jira.status": {"fqn": ["jira_source", "jira", "status"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"id": {"name": "id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`status`", "created_at": 1650988410.514668}, "source.jira_source.jira.status_category": {"fqn": ["jira_source", "jira", "status_category"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status_category", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status_category", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of overarching status categories.", "columns": {"id": {"name": "id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`status_category`", "created_at": 1650988410.514723}, "source.jira_source.jira.user": {"fqn": ["jira_source", "jira", "user"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "user", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "user", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of users associated with your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`user`", "created_at": 1650988410.514782}, "source.jira_source.jira.version": {"fqn": ["jira_source", "jira", "version"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "version", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "version", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project versions in your organization.", "columns": {"archived": {"name": "archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "overdue": {"name": "overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "released": {"name": "released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`version`", "created_at": 1650988410.514845}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.736866}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "grant_access_to", "macro_sql": "{% macro grant_access_to(entity, entity_type, role, grant_target_dict) -%}\n {% do adapter.grant_access_to(entity, entity_type, role, grant_target_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.737097}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "get_partitions_metadata", "macro_sql": "\n\n{%- macro get_partitions_metadata(table) -%}\n {%- if execute -%}\n {%- set res = adapter.get_partitions_metadata(table) -%}\n {{- return(res) -}}\n {%- endif -%}\n {{- return(None) -}}\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.737393}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "bigquery__get_catalog", "macro_sql": "{% macro bigquery__get_catalog(information_schema, schemas) -%}\n\n {%- if (schemas | length) == 0 -%}\n {# Hopefully nothing cares about the columns we return when there are no rows #}\n {%- set query = \"select 1 as id limit 0\" -%}\n {%- else -%}\n\n {%- set query -%}\n with tables as (\n select\n project_id as table_database,\n dataset_id as table_schema,\n table_id as original_table_name,\n\n concat(project_id, '.', dataset_id, '.', table_id) as relation_id,\n\n row_count,\n size_bytes as size_bytes,\n case\n when type = 1 then 'table'\n when type = 2 then 'view'\n else 'external'\n end as table_type,\n\n REGEXP_CONTAINS(table_id, '^.+[0-9]{8}$') and coalesce(type, 0) = 1 as is_date_shard,\n REGEXP_EXTRACT(table_id, '^(.+)[0-9]{8}$') as shard_base_name,\n REGEXP_EXTRACT(table_id, '^.+([0-9]{8})$') as shard_name\n\n from {{ information_schema.replace(information_schema_view='__TABLES__') }}\n where (\n {%- for schema in schemas -%}\n upper(dataset_id) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n ),\n\n extracted as (\n\n select *,\n case\n when is_date_shard then shard_base_name\n else original_table_name\n end as table_name\n\n from tables\n\n ),\n\n unsharded_tables as (\n\n select\n table_database,\n table_schema,\n table_name,\n coalesce(table_type, 'external') as table_type,\n is_date_shard,\n\n struct(\n min(shard_name) as shard_min,\n max(shard_name) as shard_max,\n count(*) as shard_count\n ) as table_shards,\n\n sum(size_bytes) as size_bytes,\n sum(row_count) as row_count,\n\n max(relation_id) as relation_id\n\n from extracted\n group by 1,2,3,4,5\n\n ),\n\n info_schema_columns as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n table_catalog as table_database,\n table_schema,\n table_name,\n\n -- use the \"real\" column name from the paths query below\n column_name as base_column_name,\n ordinal_position as column_index,\n\n is_partitioning_column,\n clustering_ordinal_position\n\n from {{ information_schema.replace(information_schema_view='COLUMNS') }}\n where ordinal_position is not null\n\n ),\n\n info_schema_column_paths as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n field_path as column_name,\n data_type as column_type,\n column_name as base_column_name,\n description as column_comment\n\n from {{ information_schema.replace(information_schema_view='COLUMN_FIELD_PATHS') }}\n\n ),\n\n columns as (\n\n select * except (base_column_name)\n from info_schema_columns\n join info_schema_column_paths using (relation_id, base_column_name)\n\n ),\n\n column_stats as (\n\n select\n table_database,\n table_schema,\n table_name,\n max(relation_id) as relation_id,\n max(case when is_partitioning_column = 'YES' then 1 else 0 end) = 1 as is_partitioned,\n max(case when is_partitioning_column = 'YES' then column_name else null end) as partition_column,\n max(case when clustering_ordinal_position is not null then 1 else 0 end) = 1 as is_clustered,\n array_to_string(\n array_agg(\n case\n when clustering_ordinal_position is not null then column_name\n else null\n end ignore nulls\n order by clustering_ordinal_position\n ), ', '\n ) as clustering_columns\n\n from columns\n group by 1,2,3\n\n )\n\n select\n unsharded_tables.table_database,\n unsharded_tables.table_schema,\n case\n when is_date_shard then concat(unsharded_tables.table_name, '*')\n else unsharded_tables.table_name\n end as table_name,\n unsharded_tables.table_type,\n\n -- coalesce name and type for External tables - these columns are not\n -- present in the COLUMN_FIELD_PATHS resultset\n coalesce(columns.column_name, '') as column_name,\n -- invent a row number to account for nested fields -- BQ does\n -- not treat these nested properties as independent fields\n row_number() over (\n partition by relation_id\n order by columns.column_index, columns.column_name\n ) as column_index,\n coalesce(columns.column_type, '') as column_type,\n columns.column_comment,\n\n 'Shard count' as `stats__date_shards__label`,\n table_shards.shard_count as `stats__date_shards__value`,\n 'The number of date shards in this table' as `stats__date_shards__description`,\n is_date_shard as `stats__date_shards__include`,\n\n 'Shard (min)' as `stats__date_shard_min__label`,\n table_shards.shard_min as `stats__date_shard_min__value`,\n 'The first date shard in this table' as `stats__date_shard_min__description`,\n is_date_shard as `stats__date_shard_min__include`,\n\n 'Shard (max)' as `stats__date_shard_max__label`,\n table_shards.shard_max as `stats__date_shard_max__value`,\n 'The last date shard in this table' as `stats__date_shard_max__description`,\n is_date_shard as `stats__date_shard_max__include`,\n\n '# Rows' as `stats__num_rows__label`,\n row_count as `stats__num_rows__value`,\n 'Approximate count of rows in this table' as `stats__num_rows__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_rows__include`,\n\n 'Approximate Size' as `stats__num_bytes__label`,\n size_bytes as `stats__num_bytes__value`,\n 'Approximate size of table as reported by BigQuery' as `stats__num_bytes__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_bytes__include`,\n\n 'Partitioned By' as `stats__partitioning_type__label`,\n partition_column as `stats__partitioning_type__value`,\n 'The partitioning column for this table' as `stats__partitioning_type__description`,\n is_partitioned as `stats__partitioning_type__include`,\n\n 'Clustered By' as `stats__clustering_fields__label`,\n clustering_columns as `stats__clustering_fields__value`,\n 'The clustering columns for this table' as `stats__clustering_fields__description`,\n is_clustered as `stats__clustering_fields__include`\n\n -- join using relation_id (an actual relation, not a shard prefix) to make\n -- sure that column metadata is picked up through the join. This will only\n -- return the column information for the \"max\" table in a date-sharded table set\n from unsharded_tables\n left join columns using (relation_id)\n left join column_stats using (relation_id)\n {%- endset -%}\n\n {%- endif -%}\n\n {{ return(run_query(query)) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.740635}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "partition_by", "macro_sql": "{% macro partition_by(partition_config) -%}\n {%- if partition_config is none -%}\n {% do return('') %}\n {%- elif partition_config.data_type | lower in ('date','timestamp','datetime') -%}\n partition by {{ partition_config.render() }}\n {%- elif partition_config.data_type | lower in ('int64') -%}\n {%- set range = partition_config.range -%}\n partition by range_bucket(\n {{ partition_config.field }},\n generate_array({{ range.start}}, {{ range.end }}, {{ range.interval }})\n )\n {%- endif -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.745727}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "cluster_by", "macro_sql": "{% macro cluster_by(raw_cluster_by) %}\n {%- if raw_cluster_by is not none -%}\n cluster by {% if raw_cluster_by is string -%}\n {% set raw_cluster_by = [raw_cluster_by] %}\n {%- endif -%}\n {%- for cluster in raw_cluster_by -%}\n {{ cluster }}\n {%- if not loop.last -%}, {% endif -%}\n {%- endfor -%}\n\n {% endif %}\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7460968}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_options", "macro_sql": "{% macro bigquery_options(opts) %}\n {% set options -%}\n OPTIONS({% for opt_key, opt_val in opts.items() %}\n {{ opt_key }}={{ opt_val }}{{ \",\" if not loop.last }}\n {% endfor %})\n {%- endset %}\n {%- do return(options) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7464478}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_table_options", "macro_sql": "{% macro bigquery_table_options(config, node, temporary) %}\n {% set opts = adapter.get_table_options(config, node, temporary) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7467022}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_table_as", "macro_sql": "{% macro bigquery__create_table_as(temporary, relation, 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": ["macro.dbt_bigquery.partition_by", "macro.dbt_bigquery.cluster_by", "macro.dbt_bigquery.bigquery_table_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.747332}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_view_options", "macro_sql": "{% macro bigquery_view_options(config, node) %}\n {% set opts = adapter.get_view_options(config, node) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7475681}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_view_as", "macro_sql": "{% macro bigquery__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {{ bigquery_view_options(config, model) }}\n as {{ sql }};\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.747885}, "macro.dbt_bigquery.bigquery__create_schema": {"unique_id": "macro.dbt_bigquery.bigquery__create_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/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": [], "created_at": 1650988409.748013}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.748137}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_relation", "macro_sql": "{% macro bigquery__drop_relation(relation) -%}\n {% call statement('drop_relation') -%}\n drop {{ relation.type }} if exists {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7483242}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.748467}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_relations_without_caching", "macro_sql": "{% macro bigquery__list_relations_without_caching(schema_relation) -%}\n {{ return(adapter.list_relations_without_caching(schema_relation)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.748606}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/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": [], "created_at": 1650988409.748675}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/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": [], "created_at": 1650988409.748906}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749054}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__check_schema_exists", "macro_sql": "{% macro bigquery__check_schema_exists(information_schema, schema) %}\n {{ return(adapter.check_schema_exists(information_schema.database, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749235}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__persist_docs", "macro_sql": "{% macro bigquery__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do alter_column_comment(relation, model.columns) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749523}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749686}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749838}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_add_columns", "macro_sql": "{% macro bigquery__alter_relation_add_columns(relation, add_columns) %}\n \n {% set sql -%}\n \n alter {{ relation.type }} {{ relation }}\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}\n \n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.75023}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_drop_columns", "macro_sql": "{% macro bigquery__alter_relation_drop_columns(relation, drop_columns) %}\n \n {% set sql -%}\n \n alter {{ relation.type }} {{ relation }}\n\n {% for column in drop_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n \n {%- endset -%}\n \n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.750599}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_type", "macro_sql": "{% macro bigquery__alter_column_type(relation, column_name, new_column_type) -%}\n {#-- Changing a column's data type using a query requires you to scan the entire table.\n The query charges can be significant if the table is very large.\n\n https://cloud.google.com/bigquery/docs/manually-changing-schemas#changing_a_columns_data_type\n #}\n {% set relation_columns = get_columns_in_relation(relation) %}\n\n {% set sql %}\n select\n {%- for col in relation_columns -%}\n {% if col.column == column_name %}\n CAST({{ col.quoted }} AS {{ new_column_type }}) AS {{ col.quoted }}\n {%- else %}\n {{ col.quoted }}\n {%- endif %}\n {%- if not loop.last %},{% endif -%}\n {%- endfor %}\n from {{ relation }}\n {% endset %}\n\n {% call statement('alter_column_type') %}\n {{ create_table_as(False, relation, sql)}}\n {%- endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_columns_in_relation", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.751245}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__test_unique", "macro_sql": "{% macro bigquery__test_unique(model, column_name) %}\n\nwith dbt_test__target as (\n \n select {{ column_name }} as unique_field\n from {{ model }}\n where {{ column_name }} is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.751411}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\n -- no-op\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7517781}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__reset_csv_table", "macro_sql": "{% macro bigquery__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.751934}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__load_csv_rows", "macro_sql": "{% macro bigquery__load_csv_rows(model, agate_table) %}\n\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {{ adapter.load_dataframe(model['database'], model['schema'], model['alias'],\n \t\t\t\t\t\t\tagate_table, column_override) }}\n {% if config.persist_relation_docs() and 'description' in model %}\n\n \t{{ adapter.update_table_description(model['database'], model['schema'], model['alias'], model['description']) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.752529}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "bigquery__handle_existing_table", "macro_sql": "{% macro bigquery__handle_existing_table(full_refresh, old_relation) %}\n {%- if full_refresh -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- else -%}\n {{ exceptions.relation_wrong_type(old_relation, 'view') }}\n {%- endif -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.753093}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "materialization_view_bigquery", "macro_sql": "{% materialization view, adapter='bigquery' -%}\n {% set to_return = create_or_replace_view() %}\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": ["macro.dbt.create_or_replace_view", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.753678}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "materialization_table_bigquery", "macro_sql": "{% materialization table, adapter='bigquery' -%}\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\n {{ run_hooks(pre_hooks) }}\n\n {#\n We only need to drop this thing if it is not a table.\n If it _is_ already a table, then we can overwrite it without downtime\n Unlike table -> view, no need for `--full-refresh`: dropping a view is no big deal\n #}\n {%- if exists_not_as_table -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- endif -%}\n\n -- build model\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set partition_by = adapter.parse_partition_by(raw_partition_by) -%}\n {%- set cluster_by = config.get('cluster_by', none) -%}\n {% if not adapter.is_replaceable(old_relation, partition_by, cluster_by) %}\n {% do log(\"Hard refreshing \" ~ old_relation ~ \" because it is not replaceable\") %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n {% call statement('main') -%}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall -%}\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": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7555}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "materialization_copy_bigquery", "macro_sql": "{% materialization copy, adapter='bigquery' -%}\n\n {# Setup #}\n {{ run_hooks(pre_hooks) }}\n\n {% set destination = this.incorporate(type='table') %}\n\n {# there can be several ref() or source() according to BQ copy API docs #}\n {# cycle over ref() and source() to create source tables array #}\n {% set source_array = [] %}\n {% for ref_table in model.refs %}\n {{ source_array.append(ref(*ref_table)) }}\n {% endfor %}\n\n {% for src_table in model.sources %}\n {{ source_array.append(source(*src_table)) }}\n {% endfor %}\n\n {# Call adapter's copy_table function #}\n {%- set result_str = adapter.copy_table(\n source_array,\n destination,\n config.get('copy_materialization', default = 'table')) -%}\n\n {{ store_result('main', response=result_str) }}\n\n {# Clean up #}\n {{ run_hooks(post_hooks) }}\n {{ adapter.commit() }}\n\n {{ return({'relations': [destination]}) }}\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.75667}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, sql) %}\n\n {% if '_dbt_max_partition' in sql %}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\n \n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.758493}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "dbt_bigquery_validate_get_incremental_strategy", "macro_sql": "{% macro dbt_bigquery_validate_get_incremental_strategy(config) %}\n {#-- Find and validate the incremental strategy #}\n {%- set strategy = config.get(\"incremental_strategy\", 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": [], "created_at": 1650988409.758935}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\n\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate], include_sql_header=true) }}\n\n {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- endset -%}\n\n -- generated script to merge partitions into {{ target_relation }}\n declare dbt_partitions_for_replacement array<{{ partition_by.data_type }}>;\n\n {# have we already created the temp table to check for schema changes? #}\n {% if not tmp_relation_exists %}\n {{ declare_dbt_max_partition(this, partition_by, sql) }}\n \n -- 1. create a temp table\n {{ create_table_as(True, tmp_relation, sql) }}\n {% else %}\n -- 1. temp table already exists, we used it to check for schema changes\n {% endif %}\n\n -- 2. define partitions to update\n set (dbt_partitions_for_replacement) = (\n select as struct\n array_agg(distinct {{ partition_by.render() }})\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": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.760156}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_generate_incremental_build_sql", "macro_sql": "{% macro bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n {#-- if partitioned, use BQ scripting to get the range of partition values to be updated --#}\n {% if strategy == 'insert_overwrite' %}\n\n {% set missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, on_schema_change\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.760999}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "materialization_incremental_bigquery", "macro_sql": "{% materialization incremental, adapter='bigquery' -%}\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 {% set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') %}\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 \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 \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 \n {% else %}\n {% set tmp_relation_exists = false %}\n {% if on_schema_change != 'ignore' %} {# Check first, since otherwise we may not build a temp table #}\n {% do run_query(\n declare_dbt_max_partition(this, partition_by, sql) + create_table_as(True, tmp_relation, sql)\n ) %}\n {% set tmp_relation_exists = true %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, tmp_relation, existing_relation) %}\n {% endif %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n {% set build_sql = bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\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": ["macro.dbt.should_full_refresh", "macro.dbt.load_relation", "macro.dbt.make_temp_relation", "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.run_hooks", "macro.dbt.create_table_as", "macro.dbt.run_query", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.process_schema_changes", "macro.dbt_bigquery.bq_generate_incremental_build_sql", "macro.dbt.statement", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.763563}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__snapshot_hash_arguments", "macro_sql": "{% macro bigquery__snapshot_hash_arguments(args) -%}\n to_hex(md5(concat({%- for arg in args -%}\n coalesce(cast({{ arg }} as string), ''){% if not loop.last %}, '|',{% endif -%}\n {%- endfor -%}\n )))\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.764019}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.76417}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__post_snapshot", "macro_sql": "{% macro bigquery__post_snapshot(staging_relation) %}\n -- Clean up the snapshot temp table\n {% do drop_relation(staging_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.764297}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.765394}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7655869}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7657259}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.765863}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.766}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.766421}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.766717}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.767016}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.767488}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.767753}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.771041}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.77121}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.771424}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.771568}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7716632}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7723799}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.772547}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.77272}, "macro.dbt.snapshot_check_all_get_existing_columns": {"unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.773686}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.77557}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7786481}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.778929}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.779095}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.779181}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.779381}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.780229}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.780416}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7806652}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.781085}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7868512}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.788914}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.789407}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.789711}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7901251}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.790507}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7913358}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.791876}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.792487}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.795167}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.796305}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.796541}, "macro.dbt.default__get_delete_insert_merge_sql": {"unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7969558}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7972212}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7978492}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.798537}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.803311}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.807918}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.809119}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.810305}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.811019}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8146718}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.815148}, "macro.dbt.default__get_create_table_as_sql": {"unique_id": "macro.dbt.default__get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.815331}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.815531}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.815936}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.819475}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.819841}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.820065}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.821277}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8216908}, "macro.dbt.default__get_create_view_as_sql": {"unique_id": "macro.dbt.default__get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.821849}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.822032}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8222861}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.825093}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.828962}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.829844}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.830079}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.830555}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8307}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.830813}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.83097}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.831081}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.831546}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.831787}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.832979}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.83342}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.833645}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.834194}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.83445}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.834728}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8351738}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8354208}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.835816}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.836044}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8363378}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.836931}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8380458}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.838611}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.838899}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8406138}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.841856}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.842591}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8428211}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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_bigquery.bigquery__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8432372}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.843416}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.843572}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.843752}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8442419}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.844376}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8445282}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.844914}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.846463}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.846758}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8469381}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.847143}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.847321}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.847473}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8476732}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8479419}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.848185}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.848788}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.849015}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.849201}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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_utils.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8496928}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.849834}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.850056}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.850473}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.851191}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8513632}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.851573}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.851739}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.85202}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8525}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8539011}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.854155}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.854337}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.854484}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.854662}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8549}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.855106}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8554702}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.855652}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8558059}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8574731}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8576288}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.857931}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.858114}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.858449}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8586738}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.859261}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.859516}, "macro.dbt.default__alter_relation_add_remove_columns": {"unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8602839}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.860833}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8610728}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8613608}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.861631}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8619342}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8620071}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8620741}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.862454}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.862613}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.862914}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8630998}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8638}, "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/jira/development/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": 1650988409.863873}, "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/jira/development/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": 1650988409.863942}, "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/jira/development/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": 1650988409.864011}, "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/jira/development/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": 1650988409.8640761}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.864235}, "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/jira/development/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": 1650988409.864304}, "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/jira/development/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": 1650988409.864374}, "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/jira/development/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": 1650988409.864438}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_float"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8645911}, "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/jira/development/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": 1650988409.864661}, "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/jira/development/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": 1650988409.864726}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.864882}, "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/jira/development/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": 1650988409.864952}, "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/jira/development/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": 1650988409.8650181}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.865172}, "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/jira/development/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": 1650988409.865243}, "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/jira/development/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": 1650988409.86531}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.865519}, "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/jira/development/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": 1650988409.865587}, "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/jira/development/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": 1650988409.8656561}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8661492}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.866496}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.866602}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.866699}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.867342}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.867501}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8676622}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.867815}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8680031}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.868315}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.868385}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.868455}, "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/jira/development/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.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.868841}, "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/jira/development/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": 1650988409.868989}, "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/jira/development/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": 1650988409.869118}, "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/jira/development/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": 1650988409.869251}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.869812}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.869945}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8700979}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.870313}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8724859}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8728771}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.873149}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.873533}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8744519}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.876905}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.877069}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8772218}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8789299}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8791308}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.879543}, "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/jira/development/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": 1650988409.87968}, "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/jira/development/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": 1650988409.8798022}, "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/jira/development/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": 1650988409.879925}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8802629}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.880401}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.880525}, "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/jira/development/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": 1650988409.880883}, "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/jira/development/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": 1650988409.8810189}, "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/jira/development/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": 1650988409.881141}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__identifier"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.881642}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8817449}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.881839}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8821719}, "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/jira/development/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": 1650988409.882272}, "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/jira/development/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": 1650988409.8823738}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.882777}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.882913}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.883043}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.883397}, "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/jira/development/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": 1650988409.883498}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.884065}, "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/jira/development/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": 1650988409.884175}, "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/jira/development/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": 1650988409.8842418}, "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/jira/development/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": 1650988409.884311}, "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/jira/development/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.default__current_timestamp_in_utc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.884465}, "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/jira/development/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": 1650988409.8845718}, "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/jira/development/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": 1650988409.884713}, "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/jira/development/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": 1650988409.8848221}, "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/jira/development/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": 1650988409.884949}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8863318}, "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/jira/development/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": 1650988409.886786}, "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/jira/development/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": 1650988409.887239}, "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/jira/development/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": 1650988409.887424}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8878112}, "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/jira/development/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": 1650988409.887914}, "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/jira/development/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": 1650988409.888011}, "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/jira/development/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": 1650988409.888107}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.888695}, "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/jira/development/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": 1650988409.889023}, "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/jira/development/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": 1650988409.889169}, "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/jira/development/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": 1650988409.88956}, "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/jira/development/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": 1650988409.889738}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.890201}, "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/jira/development/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": 1650988409.89036}, "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/jira/development/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 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": [], "created_at": 1650988409.890529}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8909051}, "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/jira/development/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": 1650988409.8910332}, "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/jira/development/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": 1650988409.89116}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8920162}, "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/jira/development/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": 1650988409.897506}, "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/jira/development/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": 1650988409.898011}, "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/jira/development/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": 1650988409.898325}, "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/jira/development/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": 1650988409.898813}, "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/jira/development/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": 1650988409.9039822}, "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/jira/development/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": 1650988409.904421}, "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/jira/development/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": 1650988409.9048982}, "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/jira/development/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": 1650988409.905418}, "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/jira/development/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": 1650988409.90606}, "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/jira/development/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": 1650988409.906424}, "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/jira/development/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": 1650988409.906739}, "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/jira/development/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": 1650988409.907299}, "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/jira/development/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": 1650988409.90752}, "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/jira/development/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": 1650988409.907949}, "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/jira/development/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": 1650988409.9082398}, "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/jira/development/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": 1650988409.9089239}, "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/jira/development/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": 1650988409.9092531}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.909697}, "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/jira/development/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": 1650988409.9100192}, "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/jira/development/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": 1650988409.9103842}, "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/jira/development/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": 1650988409.910553}, "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/jira/development/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": 1650988409.91118}, "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/jira/development/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": 1650988409.911691}, "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/jira/development/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": 1650988409.912271}, "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/jira/development/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": 1650988409.9126458}, "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/jira/development/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": 1650988409.913111}, "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/jira/development/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": 1650988409.913274}, "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/jira/development/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": 1650988409.913646}, "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/jira/development/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": 1650988409.9138181}, "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/jira/development/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": 1650988409.914451}, "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/jira/development/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": 1650988409.9150772}, "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/jira/development/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": 1650988409.915663}, "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/jira/development/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": 1650988409.915995}, "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/jira/development/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": 1650988409.916503}, "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/jira/development/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": 1650988409.91679}, "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/jira/development/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": 1650988409.917254}, "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/jira/development/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": 1650988409.9177668}, "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/jira/development/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": 1650988409.918446}, "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/jira/development/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": 1650988409.919107}, "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/jira/development/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": 1650988409.919565}, "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/jira/development/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": 1650988409.919733}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.92049}, "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/jira/development/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": 1650988409.921362}, "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/jira/development/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": 1650988409.924299}, "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/jira/development/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": 1650988409.925741}, "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/jira/development/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": 1650988409.926073}, "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/jira/development/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": 1650988409.926239}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9265652}, "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/jira/development/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": 1650988409.9267578}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.927063}, "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/jira/development/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": 1650988409.927231}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.927744}, "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/jira/development/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": 1650988409.928457}, "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/jira/development/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": 1650988409.929039}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.929269}, "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/jira/development/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": 1650988409.9296188}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9299788}, "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/jira/development/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": 1650988409.930381}, "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/jira/development/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": 1650988409.931075}, "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/jira/development/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": 1650988409.9319198}, "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/jira/development/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": 1650988409.9327512}, "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/jira/development/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": 1650988409.9331589}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.933345}, "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/jira/development/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": 1650988409.9338439}, "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/jira/development/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": 1650988409.934537}, "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/jira/development/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": 1650988409.935369}, "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/jira/development/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": 1650988409.9358249}, "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/jira/development/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": 1650988409.936109}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.936737}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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 {%- for col in dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\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\n {%- endfor -%}\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": 1650988409.937554}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.939244}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.941299}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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') -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name)) }}\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": 1650988409.943496}, "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/jira/development/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') -%}\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 {% 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\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": ["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": 1650988409.946253}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.946605}, "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/jira/development/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": 1650988409.946847}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "deduplicate", "macro_sql": "{%- macro deduplicate(relation, group_by, order_by=none, relation_alias=none) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, group_by, order_by=order_by, relation_alias=relation_alias)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9475682}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n _inner.*,\n row_number() over (\n partition by {{ group_by }}\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n ) as rn\n from {{ relation if relation_alias is none else relation_alias }} as _inner\n ) as deduped\n where deduped.rn = 1\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.947955}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n array_agg (\n original\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n limit 1\n )[offset(0)] as deduped\n from {{ relation if relation_alias is none else relation_alias }} as original\n group by {{ group_by }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.948338}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9489548}, "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/jira/development/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": 1650988409.949864}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.950293}, "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/jira/development/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": 1650988409.9505699}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.95095}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.951277}, "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/jira/development/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "name": "get_tables_by_pattern_sql", "macro_sql": "{% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_pattern_sql', 'dbt_utils')\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.952754}, "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/jira/development/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": 1650988409.953024}, "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/jira/development/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": 1650988409.953726}, "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/jira/development/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": 1650988409.95428}, "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/jira/development/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) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default)) }}\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": 1650988409.955246}, "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/jira/development/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) -%}\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 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": 1650988409.956627}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9576802}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.958503}, "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/jira/development/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": 1650988409.959009}, "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/jira/development/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": 1650988409.9597282}, "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/jira/development/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": 1650988409.96016}, "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/jira/development/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": 1650988409.960741}, "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/jira/development/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.bigquery__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.96124}, "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/jira/development/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": 1650988409.961323}, "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/jira/development/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": 1650988409.961406}, "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/jira/development/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": 1650988409.961482}, "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/jira/development/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": 1650988409.962506}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "name": "haversine_distance", "macro_sql": "{% macro haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n {{ return(adapter.dispatch('haversine_distance', 'dbt_utils')(lat1,lon1,lat2,lon2,unit)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.962781}, "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/jira/development/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": 1650988409.963756}, "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/jira/development/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": 1650988409.964601}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.965051}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "percentile", "macro_sql": "{% macro percentile(percentile_field, partition_field, percent) -%}\n\n{{ adapter.dispatch('percentile', 'fivetran_utils') (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.96596}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.966122}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9662778}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.966434}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.966568}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.96672}, "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/jira/development/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": 1650988409.9671848}, "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/jira/development/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": 1650988409.9676201}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "json_parse", "macro_sql": "{% macro json_parse(string, string_path) -%}\n\n{{ adapter.dispatch('json_parse', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9686668}, "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/jira/development/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": 1650988409.96891}, "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/jira/development/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": 1650988409.9691489}, "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/jira/development/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": 1650988409.969378}, "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/jira/development/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": 1650988409.9696078}, "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/jira/development/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": 1650988409.969867}, "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/jira/development/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": 1650988409.970122}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "name": "max_bool", "macro_sql": "{% macro max_bool(boolean_field) -%}\n\n{{ adapter.dispatch('max_bool', 'fivetran_utils') (boolean_field) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.970496}, "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/jira/development/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": 1650988409.970593}, "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/jira/development/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": 1650988409.970688}, "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/jira/development/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": 1650988409.970848}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.971264}, "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/jira/development/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": 1650988409.97188}, "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/jira/development/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": 1650988409.972524}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9730282}, "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/jira/development/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": 1650988409.9731588}, "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/jira/development/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": 1650988409.9732852}, "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/jira/development/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": 1650988409.973408}, "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/jira/development/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": 1650988409.97354}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "timestamp_diff", "macro_sql": "{% macro timestamp_diff(first_date, second_date, datepart) %}\n {{ adapter.dispatch('timestamp_diff', 'fivetran_utils')(first_date, second_date, datepart) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9762151}, "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/jira/development/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": 1650988409.976375}, "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/jira/development/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": 1650988409.976528}, "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/jira/development/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": 1650988409.97668}, "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/jira/development/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": 1650988409.978431}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "try_cast", "macro_sql": "{% macro try_cast(field, type) %}\n {{ adapter.dispatch('try_cast', 'fivetran_utils') (field, type) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.979264}, "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/jira/development/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": 1650988409.9794009}, "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/jira/development/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": 1650988409.979668}, "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/jira/development/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": 1650988409.9799428}, "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/jira/development/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({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9800682}, "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/jira/development/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": 1650988409.9801862}, "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/jira/development/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": 1650988409.980306}, "macro.fivetran_utils.generate_docs": {"unique_id": "macro.fivetran_utils.generate_docs", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/generate_docs.sql", "original_file_path": "macros/generate_docs.sql", "name": "generate_docs", "macro_sql": "{% macro generate_docs(package) %}\n\n{% set package = \"\"~ package ~\"\" %}\n\n{% set zsh_command = \"source dbt_packages/fivetran_utils/generate_docs.sh '../dbt_\"\"\"~ package ~\"\"\"\"+\"'\" %}\n\n{{ log (zsh_command, info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.980714}, "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/jira/development/dbt_packages/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": ["macro.fivetran_utils.get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9821172}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.982645}, "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/jira/development/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": 1650988409.983211}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9837499}, "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/jira/development/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": 1650988409.983947}, "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/jira/development/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": 1650988409.984166}, "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/jira/development/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": 1650988409.984472}, "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/jira/development/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": 1650988409.9853811}, "macro.fivetran_utils.staging_models_automation": {"unique_id": "macro.fivetran_utils.staging_models_automation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/staging_models_automation.sql", "original_file_path": "macros/staging_models_automation.sql", "name": "staging_models_automation", "macro_sql": "{% macro staging_models_automation(package, source_schema, source_database, tables) %}\n\n{% set package = \"\"~ package ~\"\" %}\n{% set source_schema = \"\"~ source_schema ~\"\" %}\n{% set source_database = \"\"~ source_database ~\"\" %}\n\n{% set zsh_command_columns = \"source dbt_packages/fivetran_utils/generate_columns.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n{% set zsh_command_models = \"source dbt_packages/fivetran_utils/generate_models.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n\n{%- set columns_array = [] -%}\n{%- set models_array = [] -%}\n\n{% for t in tables %}\n {% set help_command = zsh_command_columns + t %}\n {{ columns_array.append(help_command) }}\n\n {% set help_command = zsh_command_models + t %}\n {{ models_array.append(help_command) }}\n\n{% endfor %}\n\n{{ log(columns_array|join(' && \\n') + ' && \\n' + models_array|join(' && \\n'), info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.986742}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9905438}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9908988}, "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/jira/development/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": 1650988409.991329}, "macro.fivetran_utils.default__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.default__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "default__get_columns_for_macro", "macro_sql": "{% macro default__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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.992403}, "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/jira/development/dbt_packages/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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.992857}, "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/jira/development/dbt_packages/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": ["macro.fivetran_utils.bigquery__get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9930649}, "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/jira/development/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": 1650988409.99457}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.995105}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "json_extract", "macro_sql": "{% macro json_extract(string, string_path) -%}\n\n{{ adapter.dispatch('json_extract', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.995691}, "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/jira/development/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": 1650988409.9958432}, "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/jira/development/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": 1650988409.995989}, "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/jira/development/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": 1650988409.9961548}, "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/jira/development/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": 1650988409.9963038}, "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/jira/development/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": 1650988409.99645}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.997174}, "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/jira/development/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": 1650988409.998192}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "timestamp_add", "macro_sql": "{% macro timestamp_add(datepart, interval, from_timestamp) -%}\n\n{{ adapter.dispatch('timestamp_add', 'fivetran_utils') (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.998903}, "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/jira/development/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": 1650988409.9990652}, "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/jira/development/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": 1650988409.99922}, "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/jira/development/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": 1650988409.999375}, "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/jira/development/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": 1650988409.999525}, "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/jira/development/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": 1650988409.999697}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.999997}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.000098}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.000191}, "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/jira/development/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": 1650988410.000866}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.002064}, "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/jira/development/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": 1650988410.003947}, "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/jira/development/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": 1650988410.0053718}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.005692}, "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/jira/development/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": 1650988410.005793}, "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/jira/development/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": 1650988410.005888}, "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/jira/development/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": 1650988410.006331}, "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/jira/development/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": 1650988410.006769}, "macro.jira_source.get_issue_link_columns": {"unique_id": "macro.jira_source.get_issue_link_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_link_columns.sql", "original_file_path": "macros/get_issue_link_columns.sql", "name": "get_issue_link_columns", "macro_sql": "{% macro get_issue_link_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"related_issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"relationship\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.007406}, "macro.jira_source.get_issue_columns": {"unique_id": "macro.jira_source.get_issue_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_columns.sql", "original_file_path": "macros/get_issue_columns.sql", "name": "get_issue_columns", "macro_sql": "{% macro get_issue_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"_original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"assignee\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creator\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"environment\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"issue_type\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n\n {\"name\": \"original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"priority\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reporter\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"resolution\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"resolved\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status_category_changed\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"updated\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"work_ratio\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_float", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.010536}, "macro.jira_source.get_status_columns": {"unique_id": "macro.jira_source.get_status_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_status_columns.sql", "original_file_path": "macros/get_status_columns.sql", "name": "get_status_columns", "macro_sql": "{% macro get_status_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.011274}, "macro.jira_source.get_status_category_columns": {"unique_id": "macro.jira_source.get_status_category_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_status_category_columns.sql", "original_file_path": "macros/get_status_category_columns.sql", "name": "get_status_category_columns", "macro_sql": "{% macro get_status_category_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.01181}, "macro.jira_source.get_issue_field_history_columns": {"unique_id": "macro.jira_source.get_issue_field_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_field_history_columns.sql", "original_file_path": "macros/get_issue_field_history_columns.sql", "name": "get_issue_field_history_columns", "macro_sql": "{% macro get_issue_field_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1650988410.0130932}, "macro.jira_source.get_comment_columns": {"unique_id": "macro.jira_source.get_comment_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_comment_columns.sql", "original_file_path": "macros/get_comment_columns.sql", "name": "get_comment_columns", "macro_sql": "{% macro get_comment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"body\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"is_public\", \"datatype\": \"boolean\"},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"update_author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated\", \"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", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.014198}, "macro.jira_source.get_field_columns": {"unique_id": "macro.jira_source.get_field_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_field_columns.sql", "original_file_path": "macros/get_field_columns.sql", "name": "get_field_columns", "macro_sql": "{% macro get_field_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_array\", \"datatype\": \"boolean\"},\n {\"name\": \"is_custom\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.0149062}, "macro.jira_source.get_version_columns": {"unique_id": "macro.jira_source.get_version_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_version_columns.sql", "original_file_path": "macros/get_version_columns.sql", "name": "get_version_columns", "macro_sql": "{% macro get_version_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"overdue\", \"datatype\": \"boolean\"},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"release_date\", \"datatype\": \"date\"},\n {\"name\": \"released\", \"datatype\": \"boolean\"},\n {\"name\": \"start_date\", \"datatype\": \"date\"}\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": 1650988410.016031}, "macro.jira_source.get_field_option_columns": {"unique_id": "macro.jira_source.get_field_option_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_field_option_columns.sql", "original_file_path": "macros/get_field_option_columns.sql", "name": "get_field_option_columns", "macro_sql": "{% macro get_field_option_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.016597}, "macro.jira_source.get_issue_multiselect_history_columns": {"unique_id": "macro.jira_source.get_issue_multiselect_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_multiselect_history_columns.sql", "original_file_path": "macros/get_issue_multiselect_history_columns.sql", "name": "get_issue_multiselect_history_columns", "macro_sql": "{% macro get_issue_multiselect_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\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1650988410.017986}, "macro.jira_source.get_epic_columns": {"unique_id": "macro.jira_source.get_epic_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_epic_columns.sql", "original_file_path": "macros/get_epic_columns.sql", "name": "get_epic_columns", "macro_sql": "{% macro get_epic_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"done\", \"datatype\": \"boolean\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.021306}, "macro.jira_source.get_issue_type_columns": {"unique_id": "macro.jira_source.get_issue_type_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_type_columns.sql", "original_file_path": "macros/get_issue_type_columns.sql", "name": "get_issue_type_columns", "macro_sql": "{% macro get_issue_type_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"subtask\", \"datatype\": \"boolean\"}\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": 1650988410.022073}, "macro.jira_source.get_user_columns": {"unique_id": "macro.jira_source.get_user_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_user_columns.sql", "original_file_path": "macros/get_user_columns.sql", "name": "get_user_columns", "macro_sql": "{% macro get_user_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"email\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"locale\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"username\", \"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": 1650988410.023797}, "macro.jira_source.get_project_columns": {"unique_id": "macro.jira_source.get_project_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_project_columns.sql", "original_file_path": "macros/get_project_columns.sql", "name": "get_project_columns", "macro_sql": "{% macro get_project_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"lead_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"permission_scheme_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.024819}, "macro.jira_source.get_resolution_columns": {"unique_id": "macro.jira_source.get_resolution_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_resolution_columns.sql", "original_file_path": "macros/get_resolution_columns.sql", "name": "get_resolution_columns", "macro_sql": "{% macro get_resolution_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.025784}, "macro.jira_source.get_component_columns": {"unique_id": "macro.jira_source.get_component_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_component_columns.sql", "original_file_path": "macros/get_component_columns.sql", "name": "get_component_columns", "macro_sql": "{% macro get_component_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.026515}, "macro.jira_source.get_priority_columns": {"unique_id": "macro.jira_source.get_priority_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_priority_columns.sql", "original_file_path": "macros/get_priority_columns.sql", "name": "get_priority_columns", "macro_sql": "{% macro get_priority_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.027149}, "macro.jira_source.get_sprint_columns": {"unique_id": "macro.jira_source.get_sprint_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_sprint_columns.sql", "original_file_path": "macros/get_sprint_columns.sql", "name": "get_sprint_columns", "macro_sql": "{% macro get_sprint_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"board_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"complete_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_date\", \"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_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.028117}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "overview.md", "original_file_path": "docs/overview.md", "name": "__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"model.jira_source.stg_jira__comment": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"], "model.jira_source.stg_jira__project": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"], "model.jira_source.stg_jira__issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"], "model.jira_source.stg_jira__version": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"], "model.jira_source.stg_jira__sprint": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"], "model.jira_source.stg_jira__field_option": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"], "model.jira_source.stg_jira__field": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"], "model.jira_source.stg_jira__resolution": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"], "model.jira_source.stg_jira__status": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"], "model.jira_source.stg_jira__issue": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"], "model.jira_source.stg_jira__status_category": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"], "model.jira_source.stg_jira__issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"], "model.jira_source.stg_jira__issue_type": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"], "model.jira_source.stg_jira__issue_link": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"], "model.jira_source.stg_jira__component": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"], "model.jira_source.stg_jira__user": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"], "model.jira_source.stg_jira__priority": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"], "model.jira_source.stg_jira__version_tmp": ["source.jira_source.jira.version"], "model.jira_source.stg_jira__status_category_tmp": ["source.jira_source.jira.status_category"], "model.jira_source.stg_jira__field_option_tmp": ["source.jira_source.jira.field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["source.jira_source.jira.issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["source.jira_source.jira.issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["source.jira_source.jira.sprint"], "model.jira_source.stg_jira__status_tmp": ["source.jira_source.jira.status"], "model.jira_source.stg_jira__project_tmp": ["source.jira_source.jira.project"], "model.jira_source.stg_jira__comment_tmp": ["source.jira_source.jira.comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["source.jira_source.jira.issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["source.jira_source.jira.issue_link"], "model.jira_source.stg_jira__field_tmp": ["source.jira_source.jira.field"], "model.jira_source.stg_jira__user_tmp": ["source.jira_source.jira.user"], "model.jira_source.stg_jira__issue_tmp": ["source.jira_source.jira.issue"], "model.jira_source.stg_jira__priority_tmp": ["source.jira_source.jira.priority"], "model.jira_source.stg_jira__component_tmp": ["source.jira_source.jira.component"], "model.jira_source.stg_jira__resolution_tmp": ["source.jira_source.jira.resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": ["model.jira_source.stg_jira__comment"], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": ["model.jira_source.stg_jira__comment"], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": ["model.jira_source.stg_jira__component"], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": ["model.jira_source.stg_jira__component"], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": ["model.jira_source.stg_jira__field_option"], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": ["model.jira_source.stg_jira__issue"], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": ["model.jira_source.stg_jira__issue"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": ["model.jira_source.stg_jira__issue_field_history"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": ["model.jira_source.stg_jira__issue_multiselect_history"], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": ["model.jira_source.stg_jira__priority"], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": ["model.jira_source.stg_jira__priority"], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": ["model.jira_source.stg_jira__project"], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": ["model.jira_source.stg_jira__project"], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": ["model.jira_source.stg_jira__resolution"], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": ["model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": ["model.jira_source.stg_jira__sprint"], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": ["model.jira_source.stg_jira__sprint"], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": ["model.jira_source.stg_jira__status"], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": ["model.jira_source.stg_jira__status"], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": ["model.jira_source.stg_jira__status_category"], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": ["model.jira_source.stg_jira__status_category"], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": ["model.jira_source.stg_jira__user"], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": ["model.jira_source.stg_jira__user"], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": ["model.jira_source.stg_jira__version"], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": ["model.jira_source.stg_jira__version"], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}, "child_map": {"model.jira_source.stg_jira__comment": ["test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"], "model.jira_source.stg_jira__project": ["test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "test.jira_source.unique_stg_jira__project_project_id.58d321d374"], "model.jira_source.stg_jira__issue_field_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"], "model.jira_source.stg_jira__version": ["test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "test.jira_source.unique_stg_jira__version_version_id.08231bd017"], "model.jira_source.stg_jira__sprint": ["test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"], "model.jira_source.stg_jira__field_option": ["test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"], "model.jira_source.stg_jira__field": ["test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"], "model.jira_source.stg_jira__resolution": ["test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"], "model.jira_source.stg_jira__status": ["test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "test.jira_source.unique_stg_jira__status_status_id.0449241b95"], "model.jira_source.stg_jira__issue": ["test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"], "model.jira_source.stg_jira__status_category": ["test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"], "model.jira_source.stg_jira__issue_multiselect_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"], "model.jira_source.stg_jira__issue_type": ["test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"], "model.jira_source.stg_jira__issue_link": [], "model.jira_source.stg_jira__component": ["test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"], "model.jira_source.stg_jira__user": ["test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"], "model.jira_source.stg_jira__priority": ["test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"], "model.jira_source.stg_jira__version_tmp": ["model.jira_source.stg_jira__version", "model.jira_source.stg_jira__version"], "model.jira_source.stg_jira__status_category_tmp": ["model.jira_source.stg_jira__status_category", "model.jira_source.stg_jira__status_category"], "model.jira_source.stg_jira__field_option_tmp": ["model.jira_source.stg_jira__field_option", "model.jira_source.stg_jira__field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["model.jira_source.stg_jira__issue_multiselect_history", "model.jira_source.stg_jira__issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["model.jira_source.stg_jira__issue_type", "model.jira_source.stg_jira__issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["model.jira_source.stg_jira__sprint", "model.jira_source.stg_jira__sprint"], "model.jira_source.stg_jira__status_tmp": ["model.jira_source.stg_jira__status", "model.jira_source.stg_jira__status"], "model.jira_source.stg_jira__project_tmp": ["model.jira_source.stg_jira__project", "model.jira_source.stg_jira__project"], "model.jira_source.stg_jira__comment_tmp": ["model.jira_source.stg_jira__comment", "model.jira_source.stg_jira__comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["model.jira_source.stg_jira__issue_field_history", "model.jira_source.stg_jira__issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["model.jira_source.stg_jira__issue_link", "model.jira_source.stg_jira__issue_link"], "model.jira_source.stg_jira__field_tmp": ["model.jira_source.stg_jira__field", "model.jira_source.stg_jira__field"], "model.jira_source.stg_jira__user_tmp": ["model.jira_source.stg_jira__user", "model.jira_source.stg_jira__user"], "model.jira_source.stg_jira__issue_tmp": ["model.jira_source.stg_jira__issue", "model.jira_source.stg_jira__issue"], "model.jira_source.stg_jira__priority_tmp": ["model.jira_source.stg_jira__priority", "model.jira_source.stg_jira__priority"], "model.jira_source.stg_jira__component_tmp": ["model.jira_source.stg_jira__component", "model.jira_source.stg_jira__component"], "model.jira_source.stg_jira__resolution_tmp": ["model.jira_source.stg_jira__resolution", "model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": [], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": [], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": [], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": [], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": [], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": [], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": [], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": [], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": [], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": [], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": [], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": [], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": [], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": [], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": [], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": [], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": [], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": [], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": [], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": [], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": [], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": [], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": [], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": [], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": [], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": [], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": [], "source.jira_source.jira.comment": ["model.jira_source.stg_jira__comment_tmp"], "source.jira_source.jira.component": ["model.jira_source.stg_jira__component_tmp"], "source.jira_source.jira.field": ["model.jira_source.stg_jira__field_tmp"], "source.jira_source.jira.field_option": ["model.jira_source.stg_jira__field_option_tmp"], "source.jira_source.jira.issue": ["model.jira_source.stg_jira__issue_tmp"], "source.jira_source.jira.issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp"], "source.jira_source.jira.issue_link": ["model.jira_source.stg_jira__issue_link_tmp"], "source.jira_source.jira.issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp"], "source.jira_source.jira.issue_type": ["model.jira_source.stg_jira__issue_type_tmp"], "source.jira_source.jira.priority": ["model.jira_source.stg_jira__priority_tmp"], "source.jira_source.jira.project": ["model.jira_source.stg_jira__project_tmp"], "source.jira_source.jira.resolution": ["model.jira_source.stg_jira__resolution_tmp"], "source.jira_source.jira.sprint": ["model.jira_source.stg_jira__sprint_tmp"], "source.jira_source.jira.status": ["model.jira_source.stg_jira__status_tmp"], "source.jira_source.jira.status_category": ["model.jira_source.stg_jira__status_category_tmp"], "source.jira_source.jira.user": ["model.jira_source.stg_jira__user_tmp"], "source.jira_source.jira.version": ["model.jira_source.stg_jira__version_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json deleted file mode 100644 index 7626d20..0000000 --- a/docs/run_results.json +++ /dev/null @@ -1 +0,0 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v2.json", "dbt_version": "0.20.1", "generated_at": "2021-08-19T21:37:01.376033Z", "invocation_id": "fb4df365-f0f9-4a39-96c6-7cf8c609016e", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.624099Z", "completed_at": "2021-08-19T21:36:59.627510Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.628632Z", "completed_at": "2021-08-19T21:36:59.628663Z"}], "thread_id": "Thread-1", "execution_time": 0.005591154098510742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.comment"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.629019Z", "completed_at": "2021-08-19T21:36:59.636641Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.637394Z", "completed_at": "2021-08-19T21:36:59.637403Z"}], "thread_id": "Thread-2", "execution_time": 0.010074138641357422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.component"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.629133Z", "completed_at": "2021-08-19T21:36:59.636789Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.637538Z", "completed_at": "2021-08-19T21:36:59.637545Z"}], "thread_id": "Thread-3", "execution_time": 0.010019063949584961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.field"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.629471Z", "completed_at": "2021-08-19T21:36:59.637247Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.637791Z", "completed_at": "2021-08-19T21:36:59.637797Z"}], "thread_id": "Thread-4", "execution_time": 0.011641740798950195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.field_option"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.637670Z", "completed_at": "2021-08-19T21:36:59.641215Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.642266Z", "completed_at": "2021-08-19T21:36:59.642275Z"}], "thread_id": "Thread-1", "execution_time": 0.006108283996582031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.642664Z", "completed_at": "2021-08-19T21:36:59.649178Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.649925Z", "completed_at": "2021-08-19T21:36:59.649935Z"}], "thread_id": "Thread-2", "execution_time": 0.008950948715209961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_field_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.642799Z", "completed_at": "2021-08-19T21:36:59.649340Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.650078Z", "completed_at": "2021-08-19T21:36:59.650085Z"}], "thread_id": "Thread-3", "execution_time": 0.008881807327270508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_link"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.643202Z", "completed_at": "2021-08-19T21:36:59.649785Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.650332Z", "completed_at": "2021-08-19T21:36:59.650339Z"}], "thread_id": "Thread-4", "execution_time": 0.010421037673950195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.650211Z", "completed_at": "2021-08-19T21:36:59.653541Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.654473Z", "completed_at": "2021-08-19T21:36:59.654480Z"}], "thread_id": "Thread-1", "execution_time": 0.00577092170715332, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_type"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.654888Z", "completed_at": "2021-08-19T21:36:59.661934Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.662586Z", "completed_at": "2021-08-19T21:36:59.662592Z"}], "thread_id": "Thread-2", "execution_time": 0.009379863739013672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.priority"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.655006Z", "completed_at": "2021-08-19T21:36:59.662056Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.662740Z", "completed_at": "2021-08-19T21:36:59.662746Z"}], "thread_id": "Thread-3", "execution_time": 0.009356975555419922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.655408Z", "completed_at": "2021-08-19T21:36:59.662443Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.662984Z", "completed_at": "2021-08-19T21:36:59.662991Z"}], "thread_id": "Thread-4", "execution_time": 0.011005878448486328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.resolution"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.662856Z", "completed_at": "2021-08-19T21:36:59.666254Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.667148Z", "completed_at": "2021-08-19T21:36:59.667154Z"}], "thread_id": "Thread-1", "execution_time": 0.005611896514892578, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.sprint"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.667475Z", "completed_at": "2021-08-19T21:36:59.672951Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.673528Z", "completed_at": "2021-08-19T21:36:59.673534Z"}], "thread_id": "Thread-2", "execution_time": 0.007464885711669922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.status"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.667576Z", "completed_at": "2021-08-19T21:36:59.673078Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.673648Z", "completed_at": "2021-08-19T21:36:59.673653Z"}], "thread_id": "Thread-3", "execution_time": 0.007392168045043945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.status_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.667914Z", "completed_at": "2021-08-19T21:36:59.673411Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.673858Z", "completed_at": "2021-08-19T21:36:59.673863Z"}], "thread_id": "Thread-4", "execution_time": 0.008731842041015625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.user"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.673757Z", "completed_at": "2021-08-19T21:36:59.676644Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.677428Z", "completed_at": "2021-08-19T21:36:59.677434Z"}], "thread_id": "Thread-1", "execution_time": 0.004854679107666016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.version"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.677746Z", "completed_at": "2021-08-19T21:36:59.684023Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.684717Z", "completed_at": "2021-08-19T21:36:59.684724Z"}], "thread_id": "Thread-2", "execution_time": 0.008346796035766602, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.epic"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.677842Z", "completed_at": "2021-08-19T21:36:59.684182Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.684846Z", "completed_at": "2021-08-19T21:36:59.684852Z"}], "thread_id": "Thread-3", "execution_time": 0.008425235748291016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project_board"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.678173Z", "completed_at": "2021-08-19T21:36:59.684559Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.685068Z", "completed_at": "2021-08-19T21:36:59.685074Z"}], "thread_id": "Thread-4", "execution_time": 0.009779930114746094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.684958Z", "completed_at": "2021-08-19T21:36:59.687862Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.688880Z", "completed_at": "2021-08-19T21:36:59.688885Z"}], "thread_id": "Thread-1", "execution_time": 0.00532984733581543, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.user_group"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.689345Z", "completed_at": "2021-08-19T21:36:59.705255Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.705636Z", "completed_at": "2021-08-19T21:36:59.705645Z"}], "thread_id": "Thread-2", "execution_time": 0.018038034439086914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.689800Z", "completed_at": "2021-08-19T21:36:59.705366Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.705879Z", "completed_at": "2021-08-19T21:36:59.705886Z"}], "thread_id": "Thread-4", "execution_time": 0.017727136611938477, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.689441Z", "completed_at": "2021-08-19T21:36:59.705470Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.706066Z", "completed_at": "2021-08-19T21:36:59.706072Z"}], "thread_id": "Thread-3", "execution_time": 0.01844501495361328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__component_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.701582Z", "completed_at": "2021-08-19T21:36:59.705728Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.706487Z", "completed_at": "2021-08-19T21:36:59.706493Z"}], "thread_id": "Thread-1", "execution_time": 0.00660395622253418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_option_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.709349Z", "completed_at": "2021-08-19T21:36:59.723937Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.724654Z", "completed_at": "2021-08-19T21:36:59.724663Z"}], "thread_id": "Thread-2", "execution_time": 0.017464876174926758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.709719Z", "completed_at": "2021-08-19T21:36:59.724289Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.724949Z", "completed_at": "2021-08-19T21:36:59.724984Z"}], "thread_id": "Thread-4", "execution_time": 0.017437219619750977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.709828Z", "completed_at": "2021-08-19T21:36:59.724467Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.725528Z", "completed_at": "2021-08-19T21:36:59.725535Z"}], "thread_id": "Thread-3", "execution_time": 0.01772308349609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_link_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.714379Z", "completed_at": "2021-08-19T21:36:59.725327Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.726532Z", "completed_at": "2021-08-19T21:36:59.726552Z"}], "thread_id": "Thread-1", "execution_time": 0.018152952194213867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.729130Z", "completed_at": "2021-08-19T21:36:59.745290Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.745904Z", "completed_at": "2021-08-19T21:36:59.745914Z"}], "thread_id": "Thread-4", "execution_time": 0.018564224243164062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.728968Z", "completed_at": "2021-08-19T21:36:59.745431Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.746279Z", "completed_at": "2021-08-19T21:36:59.746287Z"}], "thread_id": "Thread-2", "execution_time": 0.019128084182739258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.729460Z", "completed_at": "2021-08-19T21:36:59.746445Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.747302Z", "completed_at": "2021-08-19T21:36:59.747309Z"}], "thread_id": "Thread-3", "execution_time": 0.019756078720092773, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__project_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.738275Z", "completed_at": "2021-08-19T21:36:59.746551Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.747495Z", "completed_at": "2021-08-19T21:36:59.747502Z"}], "thread_id": "Thread-1", "execution_time": 0.01953887939453125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.750389Z", "completed_at": "2021-08-19T21:36:59.769383Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.769866Z", "completed_at": "2021-08-19T21:36:59.769875Z"}], "thread_id": "Thread-4", "execution_time": 0.021874189376831055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__sprint_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.750524Z", "completed_at": "2021-08-19T21:36:59.769603Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.770104Z", "completed_at": "2021-08-19T21:36:59.770112Z"}], "thread_id": "Thread-2", "execution_time": 0.021895170211791992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.761065Z", "completed_at": "2021-08-19T21:36:59.769749Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.770404Z", "completed_at": "2021-08-19T21:36:59.770433Z"}], "thread_id": "Thread-3", "execution_time": 0.021054983139038086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.761232Z", "completed_at": "2021-08-19T21:36:59.770255Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.771427Z", "completed_at": "2021-08-19T21:36:59.771434Z"}], "thread_id": "Thread-1", "execution_time": 0.021753311157226562, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__user_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.774108Z", "completed_at": "2021-08-19T21:36:59.805691Z"}, {"name": "execute", "started_at": "2021-08-19T21:36:59.806167Z", "completed_at": "2021-08-19T21:36:59.806177Z"}], "thread_id": "Thread-4", "execution_time": 0.033998966217041016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__version_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.774220Z", "completed_at": "2021-08-19T21:37:00.085885Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.086027Z", "completed_at": "2021-08-19T21:37:00.086036Z"}], "thread_id": "Thread-2", "execution_time": 0.3372790813446045, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__comment"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.808617Z", "completed_at": "2021-08-19T21:37:00.095740Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.095973Z", "completed_at": "2021-08-19T21:37:00.095982Z"}], "thread_id": "Thread-4", "execution_time": 0.31243109703063965, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_option"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.774576Z", "completed_at": "2021-08-19T21:37:00.100201Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.100547Z", "completed_at": "2021-08-19T21:37:00.100576Z"}], "thread_id": "Thread-3", "execution_time": 0.3562002182006836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:36:59.789708Z", "completed_at": "2021-08-19T21:37:00.107350Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.107621Z", "completed_at": "2021-08-19T21:37:00.107638Z"}], "thread_id": "Thread-1", "execution_time": 0.36299896240234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__component"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.111726Z", "completed_at": "2021-08-19T21:37:00.337487Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.337641Z", "completed_at": "2021-08-19T21:37:00.337651Z"}], "thread_id": "Thread-2", "execution_time": 0.2521531581878662, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.121342Z", "completed_at": "2021-08-19T21:37:00.344213Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.344384Z", "completed_at": "2021-08-19T21:37:00.344392Z"}], "thread_id": "Thread-4", "execution_time": 0.25406575202941895, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_field_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.139184Z", "completed_at": "2021-08-19T21:37:00.376753Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.377327Z", "completed_at": "2021-08-19T21:37:00.377335Z"}], "thread_id": "Thread-1", "execution_time": 0.27001285552978516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.131481Z", "completed_at": "2021-08-19T21:37:00.376904Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.377534Z", "completed_at": "2021-08-19T21:37:00.377539Z"}], "thread_id": "Thread-3", "execution_time": 0.2785642147064209, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_link"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.364205Z", "completed_at": "2021-08-19T21:37:00.605441Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.605630Z", "completed_at": "2021-08-19T21:37:00.605640Z"}], "thread_id": "Thread-2", "execution_time": 0.26780223846435547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__priority"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.377092Z", "completed_at": "2021-08-19T21:37:00.631945Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.632341Z", "completed_at": "2021-08-19T21:37:00.632349Z"}], "thread_id": "Thread-4", "execution_time": 0.2868509292602539, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_type"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.410205Z", "completed_at": "2021-08-19T21:37:00.657614Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.657879Z", "completed_at": "2021-08-19T21:37:00.657891Z"}], "thread_id": "Thread-1", "execution_time": 0.27793002128601074, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__project"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.416743Z", "completed_at": "2021-08-19T21:37:00.688030Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.688657Z", "completed_at": "2021-08-19T21:37:00.688669Z"}], "thread_id": "Thread-3", "execution_time": 0.35274791717529297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__resolution"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.632890Z", "completed_at": "2021-08-19T21:37:00.977215Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.977358Z", "completed_at": "2021-08-19T21:37:00.977369Z"}], "thread_id": "Thread-2", "execution_time": 0.370880126953125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__sprint"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.764029Z", "completed_at": "2021-08-19T21:37:00.997279Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:00.997453Z", "completed_at": "2021-08-19T21:37:00.997463Z"}], "thread_id": "Thread-3", "execution_time": 0.2567141056060791, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__user"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.022018Z", "completed_at": "2021-08-19T21:37:01.032550Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.032737Z", "completed_at": "2021-08-19T21:37:01.032750Z"}], "thread_id": "Thread-3", "execution_time": 0.011911153793334961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.f29197ba2b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.033834Z", "completed_at": "2021-08-19T21:37:01.042240Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.042396Z", "completed_at": "2021-08-19T21:37:01.042405Z"}], "thread_id": "Thread-3", "execution_time": 0.009160041809082031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.d9bd210c2f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.043288Z", "completed_at": "2021-08-19T21:37:01.048365Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.048521Z", "completed_at": "2021-08-19T21:37:01.048531Z"}], "thread_id": "Thread-3", "execution_time": 0.005769968032836914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.5f66f5a48c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.049444Z", "completed_at": "2021-08-19T21:37:01.054856Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.055013Z", "completed_at": "2021-08-19T21:37:01.055023Z"}], "thread_id": "Thread-3", "execution_time": 0.006127119064331055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.3d0f2d42aa"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.689040Z", "completed_at": "2021-08-19T21:37:01.021691Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.022164Z", "completed_at": "2021-08-19T21:37:01.022172Z"}], "thread_id": "Thread-1", "execution_time": 0.37421584129333496, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:00.663671Z", "completed_at": "2021-08-19T21:37:01.020959Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.021858Z", "completed_at": "2021-08-19T21:37:01.021867Z"}], "thread_id": "Thread-4", "execution_time": 0.44796109199523926, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.056028Z", "completed_at": "2021-08-19T21:37:01.111945Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.112668Z", "completed_at": "2021-08-19T21:37:01.112679Z"}], "thread_id": "Thread-3", "execution_time": 0.05776214599609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__field_field_id.2a963c9cd6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.062971Z", "completed_at": "2021-08-19T21:37:01.112850Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.113551Z", "completed_at": "2021-08-19T21:37:01.113560Z"}], "thread_id": "Thread-1", "execution_time": 0.05743408203125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.91e2f0a550"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.113002Z", "completed_at": "2021-08-19T21:37:01.121379Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.126946Z", "completed_at": "2021-08-19T21:37:01.126956Z"}], "thread_id": "Thread-4", "execution_time": 0.015187978744506836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__component_component_id.0a0525fc7a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.121270Z", "completed_at": "2021-08-19T21:37:01.134270Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.134689Z", "completed_at": "2021-08-19T21:37:01.134699Z"}], "thread_id": "Thread-3", "execution_time": 0.02113819122314453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.8bc392cbf1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.127095Z", "completed_at": "2021-08-19T21:37:01.141832Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.142398Z", "completed_at": "2021-08-19T21:37:01.142408Z"}], "thread_id": "Thread-1", "execution_time": 0.02152109146118164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.03fe766354"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.134530Z", "completed_at": "2021-08-19T21:37:01.142810Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.143365Z", "completed_at": "2021-08-19T21:37:01.143373Z"}], "thread_id": "Thread-4", "execution_time": 0.015954017639160156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.1042acf622"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.143233Z", "completed_at": "2021-08-19T21:37:01.158054Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.158628Z", "completed_at": "2021-08-19T21:37:01.158645Z"}], "thread_id": "Thread-3", "execution_time": 0.0248262882232666, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.0749251d61"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.150671Z", "completed_at": "2021-08-19T21:37:01.167709Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.168147Z", "completed_at": "2021-08-19T21:37:01.168156Z"}], "thread_id": "Thread-1", "execution_time": 0.01873612403869629, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.b79273023b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.158296Z", "completed_at": "2021-08-19T21:37:01.168547Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.169139Z", "completed_at": "2021-08-19T21:37:01.169146Z"}], "thread_id": "Thread-4", "execution_time": 0.023724079132080078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.0b7b276375"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.169001Z", "completed_at": "2021-08-19T21:37:01.175850Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.180881Z", "completed_at": "2021-08-19T21:37:01.180891Z"}], "thread_id": "Thread-3", "execution_time": 0.017418861389160156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.d786288883"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.175437Z", "completed_at": "2021-08-19T21:37:01.185978Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.186429Z", "completed_at": "2021-08-19T21:37:01.186438Z"}], "thread_id": "Thread-1", "execution_time": 0.01232290267944336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.955926e223"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.180730Z", "completed_at": "2021-08-19T21:37:01.186804Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.187378Z", "completed_at": "2021-08-19T21:37:01.187385Z"}], "thread_id": "Thread-4", "execution_time": 0.016717195510864258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.f5e172cc86"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.187256Z", "completed_at": "2021-08-19T21:37:01.198120Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.198718Z", "completed_at": "2021-08-19T21:37:01.198746Z"}], "thread_id": "Thread-3", "execution_time": 0.017835140228271484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__project_project_id.912115f1d6"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.193019Z", "completed_at": "2021-08-19T21:37:01.204664Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.205249Z", "completed_at": "2021-08-19T21:37:01.205263Z"}], "thread_id": "Thread-1", "execution_time": 0.013506889343261719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.b5c6c04a04"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.198469Z", "completed_at": "2021-08-19T21:37:01.205678Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.206318Z", "completed_at": "2021-08-19T21:37:01.206326Z"}], "thread_id": "Thread-4", "execution_time": 0.01924896240234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.16bc1cc87a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.206172Z", "completed_at": "2021-08-19T21:37:01.213713Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.220046Z", "completed_at": "2021-08-19T21:37:01.220055Z"}], "thread_id": "Thread-3", "execution_time": 0.01970362663269043, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.dff664b00b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.213263Z", "completed_at": "2021-08-19T21:37:01.225416Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.226129Z", "completed_at": "2021-08-19T21:37:01.226137Z"}], "thread_id": "Thread-1", "execution_time": 0.01437520980834961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.37c6cb5dd5"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.219909Z", "completed_at": "2021-08-19T21:37:01.225922Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.226603Z", "completed_at": "2021-08-19T21:37:01.226610Z"}], "thread_id": "Thread-4", "execution_time": 0.013978719711303711, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.1f5f06ea2c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.227181Z", "completed_at": "2021-08-19T21:37:01.234581Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.244177Z", "completed_at": "2021-08-19T21:37:01.244188Z"}], "thread_id": "Thread-3", "execution_time": 0.018345117568969727, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__user_user_id.b84926f95b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.234137Z", "completed_at": "2021-08-19T21:37:01.245227Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.245767Z", "completed_at": "2021-08-19T21:37:01.245776Z"}], "thread_id": "Thread-1", "execution_time": 0.013193845748901367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.8872b9ad2e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.234365Z", "completed_at": "2021-08-19T21:37:01.245373Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.245925Z", "completed_at": "2021-08-19T21:37:01.245932Z"}], "thread_id": "Thread-4", "execution_time": 0.013022184371948242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.7bf49b8635"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.246066Z", "completed_at": "2021-08-19T21:37:01.255125Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.255415Z", "completed_at": "2021-08-19T21:37:01.255426Z"}], "thread_id": "Thread-3", "execution_time": 0.015954017639160156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.7ff0967f1b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.255270Z", "completed_at": "2021-08-19T21:37:01.264716Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.264881Z", "completed_at": "2021-08-19T21:37:01.264891Z"}], "thread_id": "Thread-1", "execution_time": 0.010504961013793945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__status_status_id.95283577f4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.004642Z", "completed_at": "2021-08-19T21:37:01.265404Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.265592Z", "completed_at": "2021-08-19T21:37:01.265600Z"}], "thread_id": "Thread-2", "execution_time": 0.28476405143737793, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__version"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.289602Z", "completed_at": "2021-08-19T21:37:01.302829Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.303049Z", "completed_at": "2021-08-19T21:37:01.303076Z"}], "thread_id": "Thread-4", "execution_time": 0.014108896255493164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.72f3482281"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-08-19T21:37:01.296572Z", "completed_at": "2021-08-19T21:37:01.303969Z"}, {"name": "execute", "started_at": "2021-08-19T21:37:01.304161Z", "completed_at": "2021-08-19T21:37:01.304168Z"}], "thread_id": "Thread-3", "execution_time": 0.00829315185546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__version_version_id.0ca1b61e10"}], "elapsed_time": 2.455965995788574, "args": {"log_format": "default", "write_json": true, "use_experimental_parser": false, "profiles_dir": "/Users/joseph.markiewicz/.dbt", "target": "postgres", "use_cache": true, "compile": true, "version_check": true, "which": "generate", "rpc_method": "docs.generate"}} \ No newline at end of file diff --git a/static/jira_source_dag.png b/static/jira_source_dag.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9e8f87ec9e808852dc305226ea6c75726a6b7e GIT binary patch literal 548626 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�Z=e~XBUeV&$y54)u%IANPl=%jm{ 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 z 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�xdg*g-DjN*w|X=u)K%#(~qlxH^e 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%0AdNI$@wANuINGvAxhzq#)lDj>NoJ4cr6 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

%YGs)WR>w>BZ8DCRj= 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 V+XwCs{RH@rhN`woxsvtA{{sh0rZ@lq literal 0 HcmV?d00001 From ebe3a4d2826f7482f31989616ca06f8da42508ae Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 11:13:47 -0500 Subject: [PATCH 03/40] docs movement --- README.md | 2 +- {static => docs/src}/jira_source_dag.png | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename {static => docs/src}/jira_source_dag.png (100%) diff --git a/README.md b/README.md index df7ef02..630299a 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Refer to the DAG below for a detailed view of all models materialized by default

- +

# 🤔 Who is the target user of this dbt package? diff --git a/static/jira_source_dag.png b/docs/src/jira_source_dag.png similarity index 100% rename from static/jira_source_dag.png rename to docs/src/jira_source_dag.png From 675a278d29f4b2890b2fcd11d5fd682c330e6454 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 11:16:27 -0500 Subject: [PATCH 04/40] image adjustment --- docs/src/jira_source_dag.png | Bin 548626 -> 433258 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/src/jira_source_dag.png b/docs/src/jira_source_dag.png index 5d9e8f87ec9e808852dc305226ea6c75726a6b7e..33f329961cfa93bc3639c6e6ba80f6db86620bf8 100644 GIT binary patch literal 433258 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

d2?hY@^5)>wh zH(fpN`(*8HcM@5`N-~n0;C3bk50jzwb6z+$85z}ANYDg>&;!3t-p~(W62l2UR zhWuXV-E}?a(~w-4Y#x}$FBSVsRk~`8frczk5=d^1D*llcmyu`Y2JiWKA>b$3(m@BP z>KZrouN9oZ*RO3$Oz7ii$NKi8ddBM%7UO$aE%#8%saQx7ibubWK4>35^*k>in@*G=(t>-EK>c}mW*m<<5uSo6Nq?v)b6u;XZ{G35 zRL7}=T>jo$=WvxN7(1mWP{pCFeWTfFz7-aj-hKjtxdBx#-UXrJ$7^X!DjE!y{Ar{N zP0$pxSA_7(O~^M!=J}G)J)xlfTAjTy5{{kHiDwTA^C`3N_{VZRO^G+8`(WPP>GE&1 z5}T-`nKiU!p`x;WF0aGB!zY}{@;wN(b>~zI82Gati@9YRYQ$PLb z(%~u!%y9vP^hICS<-_@3rcWGD!{A_Lm*A-t(Eo>g;}iZGAiA22lRO^m4sgg>zhF zziFkrcTS7nk#ydovxi(J#DyHSHj=k2UszWUYy<3F5j8_qxPNjU6iv?VG!>*~Z0K&E ze;#=U9&-m?1G~U6qgx;<)&~KYhkJjk1H!v#elO#uI9)LnA1)6a;C0f2YJN_wD#)#3 z-@Qzr=6z*r*vSy7fsJzlt z?wj+l)k<^rD9q)e8`Q~+HvGO5Q6CGzD#O83gCfFk(tc812;LZ8uf-DFv6*hwrI&y0 z^1NCF{zixWa$y&29eI76NcaMoqk-Wq{!MV#i$grq+UYqpKv-n!9@upL#*x$Ye8%3%#4vz7)259fQ3@pXK@GEk+99_DG)XKE4eI zQqYNJ10|diw*8&dpu`Vm?b?Q}lwgB4n(ot)P5I~s@q_&dbBlbZzk4{gMAANzy<_qp zY#VQQZ9YG1116Po&VkhoU>K{8nE2lIQ*c3Sd5?P2rLr?AxUbK5KQ$iBH?iFaYMCVN zXToc(^Q94Zed6_~i?hGeYaGkK;1EMlg&Z#dM3&lZ-gvodgC=;Um4 z4en^Y}Q_(}#TJw_37VcJU2kss(Yr!2z zv7qJd>eXN4^m{)=LGjZpx~`h zpdZv=#Hj+0X-u3WwXCcAE-pgq+*NS*#NqemmY0tlTX%lA>~ZS=p$jI&WZda?c6CE* z!=m-^=V8N}ZEGkM5x(97Cv+GMo?Rlj|0BK6(8yE-C&g4$z)lrb%b1sgnsY?Pqe9sg z5hMRKoT7V{kBMvzP+mLg!t$$eHG)g(%sTOB+kT7y<#(P8mixP_h#;i-VwW|FeOig* z^`A7>2u>ytO1k`k&dPNCho6w~AuyH;ReLG{L*w;^?M_>0aC7fj}4L3?z zWV`qG%wqEq;K^^B5Ts4WjNY-5siPRJUiTeOcKw;B;=W&z>ANCppS?B<4T|b1xz^&3 z+EjRO4+3KaADEeub#krt(bCJTnymU3SjsBd8Am60{ZhiPnc~K;cO~T zBxqSUd^L0ah~!>3s7fY(B}6T9q+VC3TH|zAN2lQTTZx_*+KH?Uccgmnw>%v3vJoLv zZF%V9d!z1Hm+IC~isG7O=$bA{bZ5p!MXViu0B!GG>J-@VJ?fEW@_B0_S8tM4ZzH+3 z3ffdj_((g_-)|izentC_DWB+0t{XarP1s6Uo&GLFx1NDMjL6w+dp7qGVeX5L@NV|q zk5@TE+|jQob6vzGU%%h2Z?yW@;Dc1!R0;#TR=!g54jc;hi5 z6GCiRJe)Bp5X;gOrms=;Ljlo$&#Sx|3#(=`JMq*z1dWu# zc!0bpAqPC>)^sB^X^uWOOw_dpGaW%rnpwCDuF zg#3FmQw<+Xn29)IQp|*6UP?K)fd-wH=j684c>{${nW&sie3Z21n?L?~ikr*1sH2ki zjk)h(vc`>aBuRuX6RQmfa=BE)%=*H+9<32#ZN%=Ju5d4 zG+F@0t0i)80T3uVRr{p-$tgf|zj(FgY3Z!?#y4FbSvQ#&F*4!kB;<2b%3T!!7(#A! zosXmV?HB#pbb=FD19VoJ-v4Tk3Q*H&&^4_0B6ilXuF~<*K(eyTP0}=HMvdV~97NuK zT(|QEG9`5!nzUKA0=>0c#&R(bYKll^!bJZLm)rvKf4oDp8H=Om${{h+W#HG&+i z_mbXP>Q~UU#v|0%15w1qb?EXBP$sQ#lKGqYiU41F*Pi?Px0!wvz`>KL@7Xd-#ph|c zd<)oo*|1Qnjn#T^yepbpiI88PKdsQ3b8t1C>0&@s} zw~qTPGhyYM0Xnei2d3T(F9TVspY&~y8hX|^FZ)|JhY+jSCye+e zNOq@$%d7>_56yt&d%km`;PbHDCjW4Y09EqC>VI_H`J-&2chiNhGG;#75=sglKLTw0 zfJSr?mCVZaSXjk6F4-ZX2uiaY@>l3z}{CNH-SJD#Xo z13?>iTZtvicEP_+d%skkCWG3TJz6WGO&(zVr!ZCz8Yl?eaPrN|IK=bex5PhQ>j$X> zHmhg1uH7Lb?bcOW{`xVkel%7v8 znQ?0;l}@D#3JFMXBE>h1#dx=N8K35(Eo)!{|0|M-)6)B_I>AF?HqF?@I_TQj9Tah|^D-pEc*IYx! z9H90q^|7hqyh><;M}M3BVKXRREKes_Hw^ab)XWEOTY;3yH?6 zge2?tZkah4u=Y8ni|SBnk1(gWMNaM^e2bJy(SlZ+{Ib-^}+1>vdSNvKR`*iIpM2*GABA- zFh521iFdr+&TB>xE`e>Hw5bm>x`_j$F0`&yLcpqT5D~>RzC^o2ky_aI;?}+cc#h7^ z>Gu>*LT=Gm*Xx{n#zKFBU&ORb!f0U+Zv>RFT?sxsUVb|)e6f>! zHs7cZI=_vJi>zlQdg1_NS0ivmndNl>ch=Q1_tCCa+nTn9-ZPDrBscwasvzy$Jt7Q= z8ctSIzE$Vz0we6Y0BgbL`+TPatyzTV4g0l8mQb{CDD8BcYFj2ZxDnJu7uag#&|~M& z$}jovVgfcSVB5Zfy!3A&pC-yOt6xQM5wZzo45C+BO)=F2n!Uxs; z{?nBz=V~|p&Sn-xz#k%Chd2aE4>NRapZ^Bj)+^zwdR^{{-o z|Gk89%5Pfz!-GGC9=z>JEXp#>-7ejXh4dfX+?@VTaokea(uIm&HvfC+li&ILY*+Q$K6rsM)C9jmd zaQNKp6kNgp-Oi@Q<#S%F$@jShEf6l1$fCx^j2$Xu=vP`lpPC4WPvXSCIC~kC1yg=X zF5I*RzV%R!YvqB5=Qrl})?SVt_<(WMckk1(@(uZVW)40m~`A2e#BYDMD`I3i?Dt7U zI^W(5Mi93*gV4K;#J7G-DC;umZ^Byi)*t$?*2y2bv1Ub)c%ShA_h(t;qK2;rNUq>V zA@<;Q#cM{)M{6Ql+PXqg58??=Km4@Ps>t5HdnhEJ74|P8tLs(vA-TlSEjQ7AgKjLI zhH2Hw>Tx{l<-ySb?pq5Tt?_o}>NaFb5N16tfeJgztnn#H`i+EG7_ZS$@uDsUeC5^5 z2S&0&QZ3gonNPlzXQaQ%a{Mmg^t6kj^I1d0H05It&u9E8oKcUnlY;-G>_S0hv`f!> zsGZ@sBt9)(8X-#F(?y@`H^n;@*~iV_)A?rxl9lq1 ziQ)%-JO1G)wP8}SX@7&WZqulfv~_tv#IESC0U~a3g%X5`BOHC0T2HYyj`uaeNnmax z)$WzOl$4P=gxW=o_*#CJbYZ>qdF4;4p$Er&ZNfDM$2{e?Pd(P$hQb z$iOvBG^{ix5FLB#Q>?@tYoT9-5Hd4hPv5mHCAN}vx(BM0%kG)0$44qO6`@Xq9{!Ds zgZy7JpjY+Fcy#05tF}zi5!9fr(c)vrVyk020RvwA+9YywesmAr4Xp{*7QCjQr+h1d z=$uJZ1FOy2<6?a@*>Jiy@D8fiZ#`T`Du4o&bWY=}g2L-NPv82%)f<*wk=PT3Btnq1@^VNNCVvy;URj%kdn*()*|6*G0Q!ut#+J z!3e0k5L6k6*^A(R%Wy+duYnr=jIWen2s34aI7@;Gqcy(;u!ba^cd>YzJy-n;yd}SyL$7+iPPg5kO!FQ- zG*V6iDj~;Ae>LkYAJ=vn&$aZewb1;KM%W|( z3ku306o?VXt}vt;bO|hiA~@IjsNrC@T4>fdw0a41cfakN0p$DwQZJisq(8KeQEFdn z#8t$gn|rLUu_@zbZ2~Y#9l_~@8-6$ar(umeehTdczRum(UKmX#tGf-7?7<#Y6^gjH zc;J*`Tk`niN85C3pm`W-jEp%xd#|()yC?lGfUqJ5c03?K%=Z?7up2-Q$9!`@H z9pxi*aDi?YiW2oPxj%XHd=PJgTve>>`;+=|@+xv>}?-3QMCH3#QxlfBz9%Wo(u7iM|u0G;kK| zJHbI!r_kr!8XdQ_xhYbZz0Z8-)ojF@)6_U?fuNt zJ|#dslJjhC03#K{T#vtg>X|*ZzxCS%d~|*14Q~&Nqy%~vidv5lp0SzzsR`F>#RitcIPAo~P(1d# zx0;wLCqH5T5f|`WNE;N;-C-p7B3#<4c@PO8(Zn_)&{Y99-rW_v3)M*qXdl~E)jdIU zgcQL8f5lUw#y6IsPJGx0F1I?xw^-x>i$N`Xs%QRPZVenkgt-GKijVN7s}En3NGP9p z^vO5irXSmfn&pl|^_ln3`l%nSGP6sbnED3SeTDA6(6R%x(BTdPVTzmHd(`F2@E=+6 zt{7f$V!-0LQ(oM|mHb^rl+paAG=${{aI6mE!y)0E7REOYncSCt5~@ysiC=$HQt~SP zNDB35y%I>|#%3wyGR_U4yjGsMMnYvMY3vwGj64V*AGwF+w@xy5B@Xx;-z?&hIwfB@#=9T94ddqF zsRae^zgL{mG8PJzW)Pc|r#Fz-I>aJD(nZ@J!e23z+rshCTzDI?g=Gvuh zp+w7@a$4#2Ux!+nuNPeC<7o6WL0##lon5d=Q7Lf8iFda&dA0r<#RW@GTUq;Kd#vAS+DK)TbpZNxNFsR`}`Z4@Ix`$hbbM43K*Ds38 zah$h9*V#F3j7MuM@n?BDaA+ZFjX)KY0Kq|!t8v7}V;-NoIlv36$t-_4^4AKOhrw@$ z^@@F#F!AVsk)#{BN&|rO1(*bhTl8eP#f`!+-B^joN`6K3^eN^GNzVEt`N_4Y98Uh` zPF3tYO5F-6^i(IdvTM@gd&@OMjMCwgsuE!?RU3?}#r0ynkV`DQyHM0AvMMV2)Z~SO z9%&Y7u->{WHC?W^Wp)3(-)V{2leFr6F|?XMW`w{;3zKi&`zF+Pw^+H3xFWkZUPwjo zvU2${+_I^orMVA$sOB~#GV)4mGQ0u3?%iiV_snUH=H3Rcm(%m8Pa?c`=9@Aiom?ra z!sJ7B&R_>PrJ#|2$@8&N1gS6AnC8=Y0Ff`7n2lFtx^03-u&ST${8`wm2745TU<(Z9 zr0MgL;QqlQ4ae@CMWyqE@=zfyyUvC=rw;@HRR;`{(m|@Mp9Z+0>vm!me?-HCX=y=qIM#O2OG`@fkp zX2id7*~?Bj_i0oVfB%C<_NIl)GuV;D<=MhPBb>Mu8pLVod=%v0HSGdd{L^4_Z}GCK z_0Q62w^K`!cA(=d4w6}FupM|fI7>5eT|4W&>wQK4@Y&X?)*<408WzonQfBna8aXXi z!i>(PZ-O z1XKg+bBbB|lvSEg)Oro z!#>A2d*xCQt);V-+phwz&1~TEOTvD{P!fz9N_t=3oqO$IP{6gG=j)zZC_>_;v(k(ou0*~}jQ?T6%kp%yK> z+jCs8ZM7NBS?4A%V$O7NzDu?X`RQQN#)hXX`MsY>J|33*R`g-WKuAaV5UV3JPoCi# zQsHNU7}k`ZdR#$1P0v05Bm3@M#+&8_MtET8nBOyoQ2jy?I(_YNuBG1>jj-TC3v7?y zoWa$qSr(-5t}=IQ=8sW>WI5)G5_-XDb}3D{CO~6(k+08~l=`Job}Cs(w5f37QR6hV z>?&9Hk}UnmSSNJVttsMnvn#X}HQ%3V+!TN9DveZy-e0qW_9V6vs>mt+48xlKb8IHA z5xYSa;_Wd?E%zG3oy3NYt7N`q*+S>^(_VORxy5l%5%v3xIrG6|vY$7fim*hzFbk7U znkzh$tbZhqTEL0cP8kFgz2UtT z!W{kl=+hfmqwLbNDY(TZLCUPHS_`PXqMneO6{z-z0yw2C*R#x|`sOyVcTOB?#(mcS= z-HN?klDid9_tZy?4MW63=o9tq*@a+blX~ACM{z&zmEeb}ds7agcHgoMSz>RzjC}EP zOtC<#5z8&pc2{f{#Qto({QNa8-z~~Z?z5a+mIo#cLN~9$r}DY6pnG`-Z7zWCS&%jN zQv&#u&EHS3(vj<^l-LL_QKO-8^WUX5kAmN+q_%KVfqJ0Y^dS7V5H&ONmzz6D&$xl( z3cjitvPRtovHEDW8QFi*rp-2;PY?A5mY7z$;%%v8^RbO?zmqzm*Qg>FyYyVtoT%Em zg=GYCbQWpks{ZKIbNpZ?B`6(cg|5@f{%&99fI}R_XWcZod1c#Dy-kqt4{kxW(QXzO zl$jCz35z*#r=U2kEii+}7Fh4;HWP@|=+;x>LeM56$6-XCU?Hhpod_WXs(X_}%p(jK zD|_WaNBr4Byu@Fxg&9lmEOZQQ+PufMNUHnp)W+|vvK!3*Ow2A=8lItRJv6BfZ zqjE4eM>va8=dUA~UZ7~ot4}&YvBz1liXMKei-A?H?d2O+=O(wAk&Db-q!52Arrn_BjkaMwYx@#Jt%Pjs-%kJ=T&htgSo0Od|sQw7{ z^>`(j3nzg$H75YbWsf5Rl@xEaT>Qh*4f8m&IzHw1xm23b&G1Mkj(Ou zT@B+cX{y|DPbxzeNnUE)%6Q=SG;GxNRj-|L?}!2Y-aD{qq^djTv54CX{oeo9B5kWy zFk1Xr6Ishd!x}-^4O+T@VeqJ4ma&C=H^)2?M^s%Y6zwsNPIG|$e3++AUC8NM1mkfD z`)P(lik!&RTw^beWDzzUu5M^|ei8c)pJ~7UxDU{Ty=3xOQ0G6&wF~289s5RO-g4)_ ztS(t>oadw2jk^-^Rj5G4vCRxUnTCqn_Jhw7r!qW#vJg3~h;Dy+IxsEtY^@8@ig3#o zbfX(`g3Y(5kVFn-@M9d5Ua* zcclCbw<-T#L-T+osmuzqJc_b5JH2^$kVr%p-VgRVk;gwCZr*C)|DLyO0e@tgs@cI7 zcfzxI@CjDg9O3>}3Yr{3`XK*-;V)JD3ak+x=Eo0SI+^C9emy$vad+vkO-e7yY9L)ESJn3y741+1)8PWzPhb{LF~bj(c%tYclMYU zY9Ct_tmH0NfWvPiZTMk6a3GhmG2ZMwt7E^xl(vGc76BS`sT7l`NwGU?qd89Jp4ZS? zcx9?hECOHI>x*|89=y$2eedz;Jm9+N*QV}a%YMmN2~iGzyJ>CBe?x}qDgK#nC~~rk z+68LYWO_(zR-^`8Rle+tz42Q(I-!7Q3yHxBF46XJvOfpBj%+AR$Bz;BW@a!5XuC>4 zqj2bqK_?RzQR~3m)+O(&J5S#6N+Zhv;O&gzClce`{~muLX$=YozM2o^0hiVdbA9>N z6}RH0r}T5^7=+>*$vE{P3Q`scUlH7$s8^S%XLb7FIM9`? z0sMv3VCGeE5XDB{_|P*(D2>&5f0zW(AZ>RG7aCB14VI!ZO3ZVgx#TA4W2-yT0uQGS zp=HR=0izNl)L-S@r3lp&hz|6=^)>4k zrs+EQw`$5~7j$%IXdp%Jt6`K5{eUnafBbhpoLC!)R-#pdX{TDI=E|ce71{N5oi%7j zkC8P`LA$IRa_hF6wUBsWTHaN?C`ibmQ}7GHuCjWa#8b{t-|`m&FfN{tIl&&j*e1bs zkP$a>*${ak)|Yvs5s8AqqiHv+GGC}{lfDy?@uW8{;Rhd%!Tkq{S?N`wL=`Ih_m+2A zI1}EL95bbPSOVG?-$=2+_~_Ks zXM6&Lc=_>ID_csWan5Rk2!*VmR>8s}W}HJOzPIGo=jG^-KtdKE~!J(frV&EMs~vJpJ+JM1E7yGfV0FK5Ok&T1^pI@umXA z5{$yv^SNB-1Q-^AjGp>*w7i9dv1|i2;vat%$t6uNRxK4*w;i3k&5+t2Yw0yM;;bgf zNw;xM&KGcaz{I}i+h#ykhV~x}U2F@%z4rnxI9;Q!NNQr0?1x>MYjxdgP&}+ZUy~?_ zaTnF_+y~TZbc9x?(~?&X0>c`K17BZ#2Rdvas!wh={J2H*j(9TT_i&I}^H&Wy2_yXJ z&Gp|_+VD*C51G128bK)~>N;M*$vXFr04No_<%yo~E15a(%F2(dQ(JCZx(+L{0L z!v5y?i`b?N(@~sJ7?{ERMrBg5DhrH=farpf|1@%|5^cf%)dY`^KrL=OqH?U8jouTM zqoksia|RC6*Ciy%K^s=@D|?QG$ZH$u+ee26Iz()C|M9h{<_S`?WBzrNj1eBd=ru`H zt?wbqrID@%=ElMFyw$=J|NJ=F6|Dy@05~f#YcaGH6=x;er3w*Ybg7hxtPZ?Tx`7)w zz_UI8r#QjbMx>`?v}Dh=ztq&NGNjf@sD*r2t3MI0H_|f8@BTr~oY5!#%d(%0B@+<_ z;^$a`Pa(nR@ZxhOAi3J9cJD`n;kiXcoEPeEp7LMz2;M<4Kq5k<-UnyIbnQVwO+G-r zT}q9`lE~+eUuamV{OPaG-+C4Av2&h&ln?5MU13hG3AajbIrAq4rGcr+CkbSin70W8^zyb-$II*QnA~W8;yyV_G2t<(nd|)^knhXWkS!vRQ{0{gI{fs%QQ12sh z9xdk+ugJTnpi7XQ|4;AV0M4f+hNNfLsEN7g1H|C{erkwOT1WAy$RZEUL|Gn!5?xekl6?)#4QH8p6Y>5@ z@35NRF=Hj-M7>?7xp`wRBY{C;8r6EHyLQCU1A?;gqYv*C+p4x^rJG{tDlCx?)lz6F zzr3m8=Kk{S%P#bJ#E=*bIq4l0U_O*w2AMR9co(X`7pH(4hf65nC)4tmLfezRg4cwo2OFb&-fv zPRB!RiC)yPgjiJ#XG2m+MApkn*a2!{n~3PyC%`61G(AMmX6)e?$xkmj-Idc=ak0K} z*qhSB`a~LN!AKhEMV{Y$v`MP~l#2DZDMF0DDB~ngeXN=3leyT_nN?QHn5%|AhoWmL z<4eN}cYig#%A;UK>Kl^m=`;AmWT)wVip^Vwd;@ZZJJ8{sn5}Od#rvyG%g_s zwf>bl@|D3KDNf^GUhVAlN^sQNVQYvI{faoy!oU3~-PAtT;EJvl1@xQ=&MB=}!CDNi z)gaHLYD5(R;Et!~=`;DDME|bqpk$1wx?>(b*>xczD`jPDG?<&#QsW0F-gB@xC>ZVY z>szfb;iaBscYL<)1aSNwXhXZBq7$hyONx4_!!}~IQo_dyJEI_7$j;Oj2+Esgd%oyB zz$Gy;ae>*eV8=P|b8|tTzVH$23E;i#KSZkplK%yOhdb9RZBgbSF)P7kT6U5!#_LfYm|RjJX#(Uud`F=ptvuFj(WvpyPJU_ zB2t@d)Z#T`U0v`GuBLyT)Fa)x7Y30A9ajT_2zCx}RZ8MMO!s(n)u@LvPK{ z>X$2r>2O9YFSYf#zWXpoq!%<%0v{6@3W&qiB|#&6r52A_w0CcM($hr_@w zv5%1B?m?nUQQvW+tt}UH@n8_E%r6OJfuTVU8*iHMW2GLClwTWfl-+*_hqw3WDce!q zHm;Vwal*t)Jh>h$x9wonEB@qGAij@8{pHHr?Zx)6Cj5B$9f>R_ha>n$X>FJ~)5*jgq3^O;hfu zA?d&PWpzDL^4hoME+3Zw_YV=?TLV@!&;JMMfJHs#9!O>=viU3RyC(Y3p5Ckrd&GX- zq1^ATtyyZ9u7ON3yG)VLkYncbxh5r}X}1>QFE=;{m0w@aY zsW-OwhR>7h62hB|Glw4?#``_m=Vc&fRYW-WzO^*bBtzRFt{(wk^ito9e>)68J?g)5 zQQX^=CMu1$3&i!G7|*nkwE&M-AZ}7;Mk)^pHW#rWO_5H^k zB5##aK33wOB(A`EJ2#>}vK(oNY@wiijo)8~e!7>*)Z6m)YM=Rp6hpX|p^jMY{ro>B z6Px~%^JNyW20jz-ycjsvKN&fJHgKVh)ZcpbxAinoGo`;dFlIcg0tIoebCTwe&4+N$BSq6}zD(2+HYoUgFghJB%5e znxxE;Ht`Fk0vb!rQ(YZ#gpzOiKL}I-I4voo(hioyb;LK#RSW0a<9%XKwu+d^jNkkHjvKV|-7Yu#7hF)Hl0x*odNyuR>Ad?f-+ z+Ze1$c8$CG$4+I=Kb>azg&Z6C&9=2^O&J?=NojkI(2Gh)l$z;ik*ZiuU;z`}I@6yQ z&wTN>ZB--gg7ZHJ)PF#xRq&y{`hVw)Atjov+*@NVi~0mR6(qVUV&tlRz0No1&d2RV z-M09*eOeWtU2e6xnsq0|=i`%CI^pZaa>jS(k9f6BRwvm@e=s=<;hFGPNBqC{HeY<# z$E84hck08|GDi91uFxgx|43!4U~RRVEf4YVD=0eg(>Z+-`)h_4?22ODZN9F#F4Rxc zal6}P4E}5#2HX-RRMo{{nwq82tv7>Dnm$|;hVPa=(%;Hn`FidC$ODcB8zV>RQ0Z=k zoA|8t|L|;H(W`9a>B7ebj?eUxhgX@exOJjvph)y3?<#n(Z0%{N=KoI0hlwqZyy+n0 zk1uu#Ef%==cRlUP?S}$mcpDMh`B&)irUr%t6>F)BAn1+WwE|D7rclD8fu;&64_Xll zORJX_>JS#n(EInUY_?ZOt?vUTPq!cy{KWy-%&`AxV)ANNv?BluQR}}SoAkU+;*s+H z$lsgv3AA(0g2@_y)ZAiadwc&Rf8;>ucDP{HU0KVF5UDyAv%BK+{w%rD-vq}&B4_`H zrn~Tq>iHf9F5Msv5{m*-(n?6IfPjL8fGpkJNJ}i;-5t{1Al)G#CEeXiv&6#gvwpt6 z=P$UgJ9o~^nL9J@qdQk0pIwR{G0lnZlA-jJt5ppLOWn>0A7O9gV^CAFlP5 zd^$4h9_x=X!IKnMAe;auC50p0EhE5BXKqT2)ZmChF}>fk=xu@>TYX`5)zD6MCIpdL~Y1;yYWyzpv6IzmiBh#dXpzS#b=XpRM8UVz59k zGYM5ck7G=5N_oskB)0XA{NPy1v;{sql+7SGb=oDm;p%Zxy91cD2 z%Ea3Q&lU8{%G|AQNc96qf@Pu*&y5YW9Lx&(Cm_n~sk^eGgG%o@UN!riQFyAAT_*hz zX7;;OqQ798M{lRyd^Hcu>6h`{Gw}F1!HFC!fYPsaVnjp#FI)iWp9K?F%*tOtDci9T z0aXdb=Ux3F=fFeZK!on!#Ph;e@L{c2TiiOL+!H{^A_zuy;UIOnnL*~=J@(VTi}}6M z>n|MiuN+edU9u+T`p=9Dh>xAlTLvH_ zm3znURh-ZJDVaf;`vDovY{36QDV6n~@`sZ|h4j+^4Uth);6qheXYBA?^2|wX(zF3o zU9G(^z%+`ftMu{f#HgXzgUI(}@3vlc@K>^7X@A?OE9n&lj-?)N~ zsP_#e|HqmMaY`bTJ&|O~zZk0aB<7_z@c-r*WakB8uE;#b8F9XluS(cfx48%i?b?wk z(2mr>P0CqT0EHW9y8Nx}h2f5OkVP|@v8OQ0jqf@4HsR~lxyaz@1sW@}RN&-pFq^+d z_TYM^Lpj}H{W0J{nAJa&P7Oa1V?VITZd%vafd)GC^um$ppQiY)S&=9m-}8U78wS8I z}x2nUoC*l*)&#HJ%r&sk$lsa`~=g16GFIz4$`pJbDz9U^&L5JxTccXxCEIXl{ zG+J`ZIsABzihWyhM-~P@fDR6_16jVfI0gS37yhLUAIK-u<+vS4p(#552mY1P{QHVX z2G2VTIC`ac(=4X_S)HQFjqjJ}4K{^maBZXY>6p4jIoewBHAj^XH>I?2%{PZgr^(*BjJUtR}=Vz1EYasNg6#CQj@?_U@FLY z^kX1`z+-rhaVsXYOQk?MNmEd2L%E=hFrK^)2M9M_%o|_XF4<*l4nMA~I0cnH`Oen; zA}-L|3Vijti(o>f2}AAM3_ihQ4>$$ucOVnj4)_0D!3MG##>FxR6%#xXXowCD4DU6M zAF@T6n!``95gd<7<2VY0!vT9(6aQWpO-9Xs%Kd`!^ij{@U1_ng#CFnHtoOOP_ z(zoXaU?&>Vld0Ok7O5(^;9D>A6A)5*U#QN~CrN##Gx?tYD$M1p+fZHpv&@3#?swk? zSfObUCrKIHtER>yng^|A2$T`;~7?{doxhsg@8yWZ+Q6f|u2-4`9R zzF>t=H9id==qC^z5(PyP8-76EWTb}+55Rc|HbE^Weyx%&%Zn&bl0=ZjOB{Z}L9Vkw z?bt9hfe*C*KuuzJO8I{|DzcZg;HDAR5MOiCyo2{fq-1&322BKqQZE>^u#sapLa};&;d+ z-u-sw6#nNcmc5)rq8XV3z@?ut(4mZ}WBT8!LmS!F?}a{M{eKG}{s|vJs?PX7 z`L)hWOK$D8t1NCS326YR>n=qV+GhGK;^f5VCo?$!rT{Ck)hpi~_6>SPwL*-gwF zY8UgIN_z0wiLLA7UqIujuy#eg(I@TK8w>qF_pNdVz4 z!*k%v=fQo`I07flR=D&G7(V;4^`nc;ohC>|n+;^d1A5*OqAfiUW?eJQ<2WXy zc;{Hct6nwZaXzzaU$zT8cY-@YEsLxw@M^au;>4Vg=S}w8+9D#0(6(C<$jIoG5o&NbVSMAN(cNUx$M2X!>hMO4f_->$cYRbzFW=r z-YOpr4e34x+*E7fun|1ze}O%1fP}F9!cc60IinBch?hS$H>$>2raoC z?-p2=Pky+Y$4O(mJdzaq7kBULB|G#LTqO0O*m98^H2W1zl5A!Y?Xs=zx=i#_1%tuO z_oS)KpVf)l+aC!vz856wsyV#oQF75}?xc@Si+=AIl;u9iUEtM@=|l%4Ct24!ROCf5 z=`ZuYA}jcwQ@4R2>nZQ=tbG|W60ssD z;fcVJ-)bY^4f`)}Zt;Du`FEadV5^Vc1_FOGtnP)VcsAl}wSLhepb;Luxmn0&J3pI! zq@3_a81o!Exos>;M`9QbbewWF~j{Br7RF7DPn`{U-8 zR{J({VtsI5F%bc6O0Rxx3k&ER=8DPxZuOq*vLIj;x%y`pGu!`FgO~jx6>ay1p(KEF zNKlbh=`&2^v)p)+u>f8$DC%6E5yK;{3-$5UZ%XkqDVG>PAa5bBv7GbP*E(mGG+LY zzWmd7Riqgd(r;Aw<6)5y?1$L61Yb-kegF9OEp74>Cz#fJ1YMemG49uSfzP9=<3=?N z_`5A&AGo*{`e>i=uDr;;0CcpY^uY2vCy+!GtK5wZVY2h9U%1}$Y4ml4up%4{_>1Jx zZJDDq!}W4r+$~!kdHwl7Nx?{Qx3z)t3V5>a{)EL9@2P5t5TWGa;cyxcf~So?gs3X2 z^B?E5rtOCyO*-26;LN_$i=jMW+m5R6{#A6L1(TRVs7<=*B^!f(xXEFkt}R- zjGf%!|AHY!YpEbWXD2>+?6UYtZzLy?{)I~OJtn)|?StUCNY`+a5gZHA6LrW5uGGz% zn+{4M4H_OT0lvFWL3|a2lZAB@>MMSlq7JDkzT!S_8{HdWwXP0s=;B&YGite`Xj!|G&Qa8N7(Nat_)Nh5_`@CqpZLm}pnZMPX#UYMJh`hh8PT1y zXH3#&avztrqm=OC)#o(PXAkCOclzuw>HZf!M?%GMZ2?MPehK*0IjYj{;bVR0q%-j;R;0X6zz=C$2h{KC%h+MNB;XzfBo; z_UzZ(qTDj!pDx*J0d7ZM3uwr>&lSspUebRKGyO$b;S^MiK})~Up&#k#hw2tC@1-2& zlG?LJ*ep~u^+(!2y0sJ+Rw4x@NA${4m34bgv69>P|M}nx7(#BPvy5qZcuG3({VP+JhH?o%*FKEA1f{>pk;b?U2~l z>Eh!3sssLT8{4DjuK0#{MLY}rU08*zI~kx@uim;)$mui`g9jjfWuaB_eYP?qH2`9|4QD1l0+c4Kn<|h(q9L2Kv9jUv0`=a+} z>kFQq&kkr^sZPpwV1}LlW`Cthc$x~ljf*|g^>961W-IO(aKt+2@>KrisKI-#>)m7f zGYz_{h&1IEPf%XrzNUMsED2yVDsBNWQAvR^OTE(r{D3a3*asXHpibO z)?2?!97Q-EbJ%8qCcR`Zupbx;CfISUkKvlfCy>53PZfRtE%~hnH2-PS3;zjhak%b% z3uKkW(npYuX18!RD*yiVNi?CSn-_w+^z+QBoOyh#cj7GBXo4+) zeUiRKHNo%x11VNi>Ir%D6jM((N_$O2a_68Pco6IPb-J$eo%M-=IfC<2m3d3n_Pt$a z|6*1lDzKaw2rD$Ub*{pveTfzF?$P-%7<16ZCa@vw#njl3FK<)*CtfA~HKaWPG!mol zj)5Wq6I^a7z+z9H{$Qm;0G$L7%i+S{%~#3bSo-*{vIxK4uHwfW?5_8vYwr;*oq+%4 zR;uA_5etfb@H8v9HJtpqZ9MnX`JKPmo_TuXG%zXdrME^lC7NbPJI6IQ``k6)CLJ{S zNJ^%@Ve&mx6G7ixvMhc%VlGiguzV;x(HH|?a;lJ~Tc8F4F@U9TaQNNlfEYyowd#B{ z0ilMe`=^|YbvmER;G3at4n7OF>odYGr-=3ed*HM_9d+%L;bc$*LEBHnhs}v?gxW!M zFEKsMvlv-fs3trc*JlL%zPBmpQ8n6YE7xXX2VAxf-bmSDxxeMzUQpOWtGG-!Q;ZiCRd*_&#eJ*gDkcBD30iVd7faN4IP2!&1T;Lu(T0LtPEuC1FO#& zNQRv3(jBT)aP3F(CoMK=CPGB_SB=($UH1&izprYjcf7_d6T1A~)K5fO+#M6Q^Nhsb z>Vj&RHfJ#z9@S(xYK5NmZF#1vN8Q$|U!)u9+dk6LzWa3NU4(;aza29)p}G_1Go%>< zwka_J`&{fpBJWdjUzHU_TX4TpSto&O{)sp_Nj(*3QU&Kv6uLW^}9KH8lSof7xDm!1qW9$uF~NH&ucovWstp!oO*dE!6Z zOu1wfn!{jNkf}x*ln^jeL2wSW2YdY5lOOoHWj4ut2+^VaCq+sA`npAlC!XLl2OumrfYljn)GedpMZHmz9^J1gkCrzqWB z&Te%!9G7<39x+vZGJM}rr}-kWm;vm`2PfT3nW)Ksbn>cubV_B3L-ZmRcJHJ*pXKMK zsW9E4kNM;LH)XiR0y`6Jk!P69FPkZ^0Hiw=+Z0PK_CCU>BJ4s9L2ndaBajs}gL#L} zet0!veQ;m={iIYia7V(!`-K64g+z0KHuE{UKRP>}q|K%NpxxV@gJeP=PWG)cdhSbK zH;CBMw4Q*}@aVaC@2eP}*>ua1MWq^@FU3Ba7tWiA=!cX?b1%OFJ4LA{?N?~C(&B=_ zXlGS!RPj~O9Q?dmow{Y;GDgrPQC{Jz_mBG>rOt|7x*fD+Ek*XlYU zTXz|+yB{Q|2NOBXx1KFF(?2wPF+C>8?d{A=G2c+ zzxY1uT!i2~_e!y$fa)sLJBG9xiE%pZehH7+A=*;ds^fK&3oAxmfig>>EG2-wBYu(w zYgUokOr2Ft(`H00Qb?U5rSm(Us?;l9#i2h!6{fBLtz>fh{-@yjRH76{T zzV)#fU%<^pqlF+`PICJ@e;PdDF+cn@=WfK%r`9j%hWUnewzhTIiU+0RX6+DK)7SyC zgHDXq)W+_=LB3(!B#DpPR$v-@GkegYmi99Ox#IE!6!JZpJOl~F_}6jZ%Z~=wUNM!c zR)CH}E-&M{0eY?a0r=@)n+?9pUDM5YG==q`Jo2cd1Wk%mJu)2!VZnl%MSkXt^v~_% zun;JP4my%kj{suyuSPk12g6+&1kphJ=kXSkSklW=m^u*1-24=7Ca1;Lk7^w=gxs7| zt3=m>#8OX2bdy=e`m!CwJ%D}FwW--xzdP#?OG;!(&Rtk`tIJ&vlgN+8yBn4$>K7fh z4-7})xXSTjLExx94PP5$YiWjB(Xqif6j&mdIADu1a=VvVP5Y`eK{@b565sQ7;a z9%eDb1r3FPmS-4ZHWPX!g5$UZ<3bOlF-+RN9PnbeXU9kTJ#ajN=|bGB0o9p`e1JFqEtDUgm`&?u>5jYq+j`pGY=Mpm3ekgt74s@0* zd6}q8@*z*ZMHs3bx8$jaEFoS6Nci zB@SE+mzUG!PGmR>pTy%lY>w}HD6UB!-cH__tiS!^HU(Vk%H(0UXMEKAFeQJJf~+b$ zBgH3mDR)^UeAz&LMyIuflY15${J5#|%C$hSFh`C!_-BS$n0C{Ks%X6CpNydEn|F#t zfh8#n30*&vj&>-2r3(=JDx|D43KCGMM5|14WxSWlJZ}@10(>Saed50_?(5JUlH#7f z_yAg5Znio4ktbDNB$4Ck9k6B_)lT?6xRqUWi&88-H-cF<#5wGZiuE6G%nxGA<|a7%;7{I z@oPNhq!=H|WHE>2W6Qht7gFJRLz70Do&J6~4|-qdh}}Qq_zUH!Z&nRDuMw2exy+c& zNX(M8S!nwV3h;jB5<6RzPNkif^oE9lTV?1Gb&XbS0tL?ltN?zpasIBtcJo&i+8J=y zKfmmkr`oct+guiw;X->HuG1S=m0*~+#Q}7#)zY(V2Tp3EyuazXL{HiM1>*SSIE_uu z2-M{qS6PyVHxQV4`8{MEQsATCi1v^jS!ZkZ?aj8k%V`31A@TTRdFb(PdP+mxQmd6V zsBx(i(S1Rc(E({k<8F54bj>RYQg5=WeS!p?EgXgKLK8?41WtnWR>?tQn$RL$_(96a zJiv3Z(|dkuu7co;WOTZV3p79f40#o{vpae2PwihUU6Vc-t+9e!y0)}JOH{_yuT|k) zLA$_rRb2-g@}TPvi{%{F5Pna@45kZpwBy_eJNx`X;Jwm9Rzg(`X5gfsu4270CK$8l zFX4XMI7NlmXqEdBp6k}Be%%z>MBQ|6k^0x>xziW7o;3UjE)mCE3x~``R@-A2IwVHd z=Jb$+-7Hyd7E|T$*gZZ==sIGuWURGub=K#{zOd`mXK>Tmnj8K_1DdVw=o{ET z$hv{?y3b5@HW)4OXLi&QupH4a4_j!b)~)=mt6IE2w*!oo@gZHu0Ym9em(vlX@W?fQ z&x19zx!_&EM;<#{X>xhzzG-&U-aMo5 za|HaUB1_a61RD!|$vPrgUQ*V0wjwzA`j4jBx`-iox!F_JdbJ{qQ@3qAJ569d8n84! z{?H}+nUXBi*(4a4&_xYjZELQ@lQ}ia={m#_aW_yBG4Dcw?q=jPdBaYO*6BN%IrUlw zF`W+$0QaM-b4B0eVT)mm6?kqpG33@95afw$lX{BkxNa-8VwoFNv2~O#^WMDow(k0{ z9X+%P3>lqo3Y7{PHDf-`6Hd@#ewoGC(>8__n%J)66Q^cT%Rk}rkUG-aX0A$YBOWq$ zVV{Qujf^ITAYC`;*SSUo`EsQBsX3~?46^qbgMUXF!>i@0wqp%Eo?j=vua=8@{95I= zY!Z9xSVdPas{~sK?ZLMYkj|c8vc5`LEF@|-YEqtW2m#Vgj zp(;mpSrcqM({^5zKMZB%70pa#)YHMjrqJo13c_upsSy{~9y+CZwd$qQ$IH^0`~~(h zYsh#Q|H;w*>&49g&js^afQhbFQw{EjkjLk=r}Jz|>PS{ex7me#B08fXg2TQKW~AEc zdWKy;4lrO-pFFQw_N#TQ*ZtktH7ni6YV2H(Hgs1R zj@POhSD%*DL<+#%u&1kplL5;JUHI=0@a?paS7#{;jmAY9D7(uw@Y&vCi{f#IE??+i;@Qg}?7kW9ikU6mizr1Ar?sr%O?OeI(jVMZH|$ z6Aaj19M+O1Xg#FDqLUbIfC!YdO!`_K{Ra{Q5E+Z^x+FYaDh+yqHcYwh>7Ug)5z<(B zx*eNjX$dq}*=jEn0e(ysy(+I3f+!zPW6I`~aiZin&&AKa8X!te8)v`?u8#0e>q~8D`sz17BexDT^{{5rv(m3Cyo69!N zDX8gZ`!xLg#2PwtTn{F7)g?hYz+D??qgec^h*_!Nuh~UK^-*TTZg7awBK+yc0)n=M+vgLq&~{W*R`YNt zcqpRDZ9V#6YjZA6VhGpd6nR1!vZb9>iuNV*;`c+1AnfYCPX@*P7+s ztt1L9=uRy+&VbiOzQdOO#HgOB(1gOf9{U4gx8-fB>2)DQF7-gNH+b5g?v^GGg>dTmd#qLxqULf&zR0gvACXp$`hU8MP}` zHLD_rR&D1^Q%z zK?WP;UvIKs5tz0ExD`hALM{E1bfgVarZl^-yRX_GnBV)#)_rxiSy4whgE|2q3=bHDhL4y2~ zG-0Idz*ecmIaAb#hb4^s==A|9ZN(_8H4a%u1*M*r^CoP zWCMjoHD<5DB@eQ;`5ZR9rr*r6-a5e5`a}ggcA_+NcdO$DIJc0`@E(D5dUHQw(cD7& z`T>SlBs;wi(5rUFq_Lq=eRyQ(x$63N-C;!84CcQmS-(h<1Ql(ndA}&E@g@Gs zDfL(1i@RT9D%JueyiVCrZq(V}CF6+?i=HC}6-AI-zK{YXpBl%|2gd>CO|BsccX{o% z&C>$c_bO)ch6damGYOA4mlMAa&%%+N^C4Xhc8MZogB$#Zx2xliIQ$lCB~FN(`5}g7 zXj!59OVe+>Neqm zn=ItdhKDn>Fe4BoG@GJ^aO7D{9X6}!F0Kz}c8(#Jf9F?h_3vO} zYkHjN$*mG`#lZSFg>)^_B^7?EeP3Aiy!jGw*L_Ns+ZAaO=vJ{wNl6`Ha2|+zh}k=g zDEo=2skBmDO}A29{&e))(RHWVzCj--J}xe&O&93cH)!1UI1>P&K5)CtLEiOWKSy4- zvd|ayqIzFGGTwIjvb_I7Y}+0`TKtmla`q%6^kzh1Hz7g)+to~n^wE`kOy1}}Rjm@n3X){OLfepwDg_6^9M z^yzi5AL(16wYoOQ7ERP|gFPdj4r_7j(4!9)akeo7GLISusc0JHv1qzV#_shEY3B6n zfh>=EGNnIYTLeT481ukL!#*4P1QikY=4@zXTXyX>7)*mX_W}kpkFM9`m{ZQqfE>@5 z6Jc6DoJp=fa~Pd|jel@mZ>^ubfpS~e3p~8g^gs2BK zJypG#3GouWf1}Id1h|$*{&Cnf2|=?33Omxd_Jn=jyV@A1pxt9eWl=Plq{RVe1C5ci!UP_g?R;JuM6k zK+%$);Fr-X5ZJ9~fU$Cwx4`xk!pSN87& zXgTd5P${>5kN3cpdE5czbT)YyylD}se@2GoSvTn8c-iCn_pX$SQ5?LTKUZ(d0V9iE zO#`>0Ej|bc?C6L*%p>Z`%3idc%*1^;AY0!5cPZXULM@m&_yd zxXd!RL=A3VolBa(WB7TLJ`|%PN!j#s^{pzjFaNf=tK+&g3O=gzepyS)r7$`1 zmYLj0M+#jY=dgy!^9>YT$ko9``C$7d638#SnaYTXw;zTCq7s&m~0UqWE!B07f4W?%medsGsc>x(Z!#-htYRyDw$+tm4Jc zL?gah!*0&3a#p}KPjt&03mkTad=8P`HtRilSZRWE%L4VsK<~_sx1PLc=x&SVRp4Ru zZ|ciH$4B`?!1NX8RLs@9+7cVMb@eox=dYfRXPmCrjL(Z&$ED#kpwR~+7!1#TGG=B% z5@w?YKG-Ty-VVaNaV3jwf7*`A*aX_U45j&DKO_J6Dcbz%uH$Xg0YdSvb|n-uRMb&d zQylE1m}|(ZrKYht%^sdQ@HZq!`Lj!~&P#IQD~^sKlx|h*>@7M9B|?#{`6#c=D18KA zO*8?wXZLw8BcqNf^k^EZ@^hPHxxOv5IE1Ti;6}Bw!L*dK5exV!aatK!g^Si&5 zxoP;zsGg>4QbJ3VS|LqzblFy*nZR9UNO*-2xheEPq;BEY{ezp$TEO^t)0h$^8>+rX1rS^tcw<3%1`{|gIN?aLT*8Tb`dp?R}O{ZiDZf+WL z&>HNWwzA;wa6ggeBNtDL5#UK=N0%k@8zrrZdq}2s_vZ7s)OFsHs(@M;4jj;)wV+@%}o3H!% z!q^Fsvq*!N-MqAg%VG4cTLzLds}ISl_0Ply|3;Nweh%^1aa065;vy0!EUBK|)!ERy z4Eys7JaVs5WMQxld#{IWdP@Ny$)Tft6rwM$0U>lbqN%A~hrWk*VZ;!r&-3!Wu3rrk zJ5Ukp2*ldZ<)PE&ThQ+2( zherlEYxJg(_vdsp(h{|_U|FzhR0%}qI53A^6P5CXhHt!5b|Izv&L@x4{H)7&^cjck zlz&fwSw(?H2)(oqcGXe2d`(ae#|Dw~w0ba9h~aN?b-}v8J4`)@G3!0W8xW^aVl%z5 z0)w1Z;~;N&{R9Nq&*gbSPQ&kAn$%=vZfy3ZF-QC|{^>d}zz@&F;^5sCl*w4;Z1CgLRUN;r0_2A*-`MK878n49rZ zs76okRd%Zz0e@X-dWJ53x@a}~FuQdVIiAvBpp9pfILor0a!&jIMW%rIo24^xh}1)A2i8IifY!KrOvg_8&+-D^Bm#B|wC{W0+-%OG zzPRr=PN_UDsZPylM6nZQd37?`sq4L0m@R?X^TuWxwSB;KPyET|y=S$(k7YV}lg)1a zX->z5q2~riG2?npb2Xr|S-0oeFrGbU?N16@i>m=>$lf-DCf`5q61o0Z`pdt+SXtd} zilLyjgnI6sxfpBSdHWfYh5e;M0H=1xIQ*R%pRKfK^4zki(CWO;5mnoxUka~7hGvdp zB^5qvO&Aq0-TT|UKm|B2SzG{*U-WHsQiF+l3Y5|#JF9VWuexIJw}sg{D8p+z-*vZ- zI}fN`U(mU-rq!@Qc)0v$%?MND8nJyv3i&Na`5rPju4#xsgK*JyF_^W-kUgS`x(7gN(Ua4ea3Mbwb{xg?*8dd2vf}2og+rW8M z;R|dg+bTO>H-}p6{ykKGy~x@`&T53fmkOPN{GY-k{Y*ZpUBq;vN#`MiJ7-$KhYzxw zqO#5-#Y2QnIMb{Bv z?XmNv57A7_tHf-+1Eu+uq;g2-1%Dixt;PVzP`~X|;zSGcLmXB`dZTCYSnXN8RS7eH zWqO#Jw&z?oF3MWl2Iy(vY5-qLN$c0jaf^jQmNyh|OEMO3bX1A%(#<7}X?cE+d;RxP zjxdtl$TzQ~bk(2H?Pzkf!U;Clq`v#itON6n4}wiMD8Zv z$$`2+am9$ZH$+$bK&v|$XgcobPpTx*Z9WLK4mmwUBUDn-wFw&Tyl_f};TCv%I@dLp zt1r&mlXX~~)1~Lzmz|85>ow|Ux--1bp|*H^pLrJgH+fS&I(XQ#$F% z=_JGT^t?wsG(fyg$^3d3*VBD#dH7mgz~yU;F3>RDJAyCNEo4(PMYX6)RE$_x!-}H> zT6o)KbL)N2WEM_69A=83glI+)vKn^7KGR;w$I#nxYN&L&+H#f$yEY~zeS^+DCLL6n zsl9F3FFLB$W8nKidkxKQ)PqGVoQ;E{?)A_63Gc0uQ#P|;z`Cvku^`mDr|{R*LCj>3 z&~s^J)K~f<0Qo#`3|yDi!=X5jMzJ^33Hz}igGPkrFK3VKU|FKkO%Upo;XohAUUHXSuM0j>{UxsW8N31#>g4~ z7^B5JOT4RknJzh%6{*&D?JcOdU|uhcsTx`q%!=y$~@JnQu`JZIH_;L!-uck;QI zR6)~yb+NJVsNIRB1z{x~nsf9~+Si6;3ibQuD^U#P4(@hE0%hRtuiev~dd?S;+Cd4l zri_Xh3-3Ly^Arip@#wWu)=JjLwSnleJc5V2kWQQbV608{;Hf38QRzNo5t=JfP{CCIjMPQM+tMg#XH_{7C8sW%v9sqIi2 zWwh={Qbx-VUU|@7r$>ion8csBep?-QiDh*_eMk?}Dp8}2NNi?W3OaK4Ndd}LiCRf2 zxK@S)T%(rOq$;J}0NZ7Mu)Wx%{)$euG5tvx$V5Q>mS1D^hpKRAt3V={Ya5%W6b)f~ zv7Dq7)vTZSb~?Cz=GG-yFe;8uftafy3;OPS=4vS$abEt@uH zrWzAr1Ky%Q3^1{KStmw^JtLEu^Y^r$#uq~V;~qX6Gr~@v^AE@4mmE>*)(A&pZyhGp zv|sm0U07DE4p(bvPDJ;u56I8Z;DXVJ)HQ^6CGadpS;{356g4$ckvC+z_KKo@& zs8rLRL|Bb}>X11$RV{zk3jwzeQCvN^FUtr;-4GdLyZ%X?Kk4m**2dtUnkJ-F)|#)S z+mo7c=Lr{b8At4~V+_e5cxf0PfDuv=py78+?t}A7e3ke{f5xuIwL3;BPN}#u!^|OxZ(3fmh15TNJA*$o zw%cd%k-=AwTNbnMl8% zOGbHVdRU*isC$tu*X?&KIFZkiG>Sq@@6_*1ExJ4BbVpDlYNvX4I8D8VP=g1f2CwLK z6P)7(oFzoweQQ=OUJz-Ij=HWs8V2h6fv&4WUxG@y*60k-lV|-wQ33-E{x7kZLEt5g zlms3(qQud8z_28Sv9Ma+1qkDkHhl9=thmdZS)EPFGD#p&ljvGVdH)*t+5bu240rp9 zx9J@>VNX!Whl_pp4O1|&_;2txNj?x=H-uJNsNnf&OJV?+?ETE5^^W#mD`8IEl-!a` z>RHjq{;2yd6lsr(ETzRl7J8eUMe{6$f}9Q>>sm4H4qw$bWBxzO*#aaWi}5_=HVV<> zRzp~?Cz^;m+R(k85uMX)gE;$kf4skyOjjO${&|st?^D_h0YPx(hWsmivG0H#9XzuL z&0Qn~QfJPPc#*XOE*5^;`dAIc8|yA5@BA64FZ(%Segpax41_U+lg!VNEu7_~8_d_Y|G;$D zH^&=MwPE|Q4Iy7x&$H75K0RAE<%?11<`C8!#4XKDB-0(Xs&b)yA+U@Uz3gmb4-orR zeDe`(nUtK&ky1j(*n|4S#@JeF-j*y-qDs@Y#fVk5lbGQ>x^oQX@4kd?yG+NIs#}c!`8p5%0=CkTOPh>J(6Y{g`Sg1X;vzb}X##@9PV^ z=-faO69<8QKsv!Q%~I!;hUaVnu?L`4QRnl}RFIg*%WFoI6l*r-WU3Ftmz1sGz#ZRh zCv|s26%0|zU+$9`+n|ozVjodY_wM=)&4Ov5u6zGGs9^GGXYEeQ2WM`) zj3N2=i-kig80~_P!nE7^oRfFQ%Z?>kP3!l^vp{3kB(}!@6?!TM`BFTvp<~DD`B9-O zY=HwZoR?GcQdf3iIA76RsrO#M6LJ@Ith9(B;Te9Trh>lhvG@xo;S&b$k0x4^9I^A_ z83cyRon239&N#{8CiDWWQ#xG(yz2{p0HL*O%CDQ)Gss7`d_=r@Ke!|(gM*?a-=3_% zt@Uo!vJybRD#W6kf-5tYUSA=~qhJxTSI9|Cj7Ev*U}m%rRDYMzVMRh$HTI)%p>HnP zhylfEa0EoRZnms{b9*VGu`Yl3O+D$F!K9m*j;ui6G4~f^eefm}m^ z%K?MqU`I9-r#igMll2$L<;l5P%9t;)&y=6Msix9#pg{EF znsOftP_4U5t2l?ppqo#gb9GhCV7=F(YLF?DW9frWsm!a%9dDq$RY9nsv-G?40`d zMY2~ZeOZ^+j9S4nd5M;QNKIO|gr8o*G92 zj!-Y{9+l>ht|v>StJBN%1PlwBIe_(+7PK9{USGY$*5}rYmPR-0Q*Xa=|JFTO7#JL% zI;&RMSUxV6MttJpdPajRygX97GU_PsR^8gvi}F}W_c{lIk$cOR|9i|Bsoj&X^HVOuL}TVJwOrb}s{S5Tk#P9hUjJF| zzJ#3t;^IokdFii6l0@V-^uRhF6N=MK`yxg!61CG#*^+-`^aNn6=k`Ql()?U-qkvCU z4n>Z&yx8q&wCCHKS|S6cdCgTcy4fGRlgs*^D5JisSkD%L7yf1X{nKZjuP17qf{AL) zS^iuW?hV0DT}6?(c|p0Ex5jh+l3u_Aub)m_Bz<)be%C0@^ROJztnK~Jmv&>IkI5?;FD~nFe48#$ld2e zdAXk_Ef=fHi!_Wg(hV+fr!CCb==FQ99UFA=)SrpIq$!(}tZUK{nU9VP9`15S61*{# zX#i7~drFreT+WJTc&HN27h%uV81Z+Bd725xirlK6b7kiBF-|-Q~HIbSVTsj{z(59zht?;TrQCfvsJng(Z1=msMHAaLe<4AQys+652Kup{*%pG zn-HpjxsWL|&t+yCbN9M=E}NE&+!0~ve%0Qu3WzBKZR7ju!n&7P7N`{Gc>8NlH7{K4cyrLSC+24Uj_KLHpKXM15?bs5C2;0lLmJp|m;JU%redoJWMLQFlEO z&3#)6sGexV8dPlBhSC^?+@Af$Ka_wfVanP2c!cNfJ+m(F_pXrC>a}^08gAGxo-mwS zILX=1WV#+VZY}51qZYd=hJ3+r@6ZGKFa-o^E+^XoV9Be4-3Pxj^Bq`Wj@65UsiJQZ)}67Z&oM3;d#3*+6m? zanV^6A84Kb5b~nLhXSfc)g-NyuBw@ zl~6aFpsPo7b2Z=&#lQlc#AM=llk&~LMLywRga`^QnGd&eKli6cw?{Z_V*jvsF@MId zr7EBM4CvC4Y(>Snt%$>h9bW+Idrm1;>Z~aG4ygJS)7Zl&1@+&cJT#IN*%VM2-m&{Ih zvXIt}nc0zbol`uE`R`5T2qdn#x@kS;o+SVD%GN-ZZnmn`RvA1?P89)~aJ&=KA~@&6 z1*465Tny9L_Hz|$&QqYVsru=PK#elg;E9#&>DB?QXA1OF`Uvv!x@lg`gt`K+Xc`+Q zEB(gi`wY-inTzFoz|$~`0Y16WiV^w^EL2`-b3X3=z0H^Wp*jUKZt$N6wdTiP(|PBHF2f{TV|FlRF$6 zY5j}N_GUp0{m;2@K@XU{JCidoPxm>`tZCK`gE}(4_JrssuOC&r&vEH|cQ)S;*%-X8 z@#Ax+A9$JBP^`2&eJPQ(QC66BgZ;WkSu+u9W9MtCfdk7IPu?TpXA<(Z&UX=nv*&I^ zAU#^%-lX->d~?Y5#;HfW(6lvmWv8$f5k8&6ZKCJ%x`n52Y4)hwr^+}v~ zzPh(Ghv6#uJCBt5qY}!QUPi)$exx2mC?59-+Xx~Rcy}3l&iinmfx7F>TXsaagKq(q zmBVlus5&pJ0c*}r*ko3C_?1i4pV9Rr7weNte%ZRQGHQ7X(1Ow_z#RPlc>2n)D5I@y z0Rcf86p-!)38fjjJEcQHL8L^Qp&RLv66uoe7`i2;V@Tw+|GA#od+inX zYAV5*Z!}BetLj!Ee)O1zj(RVvYtQML0JZ(~j@7LqPBrVPcqcwETIm-CYJg9}+@B&qEJHFLkOx%v>q@rYP=R;4#*#}%5AT+AN(VUebN-$y zzaqM1{A-soq&$+6TK`Ie;C%sxciJFwpQgP7ezHsa)f;>^a)wLrgVKqwmfP3IF8J04 zP@O*T{H0{iIQK(EZ3k=jU`!??$6V)ggQ3A{)!rKlNdw5B+}&1Bg$V&sRed4U%~uLO zmx~F_g!CWIl5|C1XRHvzJHn+Z&@sC2c%5Mbi-*)!#frq5_^$T%gU@ST_pgU%9iF?p zPTJb1Ha1!mdBBgGaGfh9+MlvG&A-Et?bmw`br}IB$uT0d(`UE`Q_ZenH^>^gx|ZL@ zI)DAR!7qT)ALmc5e_3mJYlsH8IJX&iEV|FW>Z>%WY2rL<>NHAG1U8*KUf*3^C4Pf% zzqxFCHC*I-`pQe&G418Mrk>P(-C-HaH*2?5fUP+{d_mSXA?4zx)P3TN zFXPNET+cjT9K7mt3^J+|*`ha_f*Lw$V7A`mI$kZRIB*cU-G*_*11*gof=Cg{Oqnna z&@tdpaL*tUYdiI;`Lxfh-mLX6WD(U2FpGEMCjXfAYX6o_jA0I_v)INffBr{Bsi37O z^hktTs0LV+Q3NbfDsm|@ou(OCRnJg%Y5klm6`UU+jbr?G483dnlS1pgxxKLPzGR&P z0yplE8$|iA!|{`QMH%6Y`A}2;2^T0r_jBpdcAnGQ17EP@55qAq&qeT_>Ka(OpmEaT zKy7pCbvQt~Sp4-cfUn`kQ!H}4E?jn!>h^2q8ds9%_{Vd&Na~np!vQ%_af=EdaScNX6m z!M)}gEK8}aey@IYUCMB^`a_yyTnluek*2b8GSA8r#Wa>n(G9FR&uu_!rBQ%k_zL06T_>dTWRp54u=edGD2jDFdY+6`kB&ToO9RgsAMD9LvW>!~u4FPechlYx%i z`^CwTXAASI>WzWfu-xg@-=bf1ZjF|tCw%=xl2Ss@qKr@!qgZv%S0AJ6y~S3~t`>`I!KzU?Hk)lhu9?5zLz zRbbD|Je=VvjDTC`^J*27Ur|ZxWrGDgm)pH$)I!%mxcgpB{QZ4Puh9Tvw^*d`(Rlx@ zy#XY>K*KWXuZ5rV=#f=a-Jl?UH#~Ed8Gs3Wkeem4lB2JoE+)d=JYSiWw!v( z$YHI=lGf73H%ixUk^&FDT!Rk*sgFL9X7;7{uymgC?+%ig#-E4x^AA9YWj#Z`fnj>G z0LRkvz=Ge#4<&rqbX}{6^IM@Q0nkII3GVs z0w=-8iEfOvvEy_6Hp&M+SA>Q1-@0lOy`w+qZp9Sz0qANxD=a1CyxaysZkph`7WBbCc zMToKJ!3IkD>GCW(%9ZD#WjQHDREdYV0n5$L>F|;)asvGiN3oZ?xS2kMF!^|c@~C6( zOG;R2e%b0J0yJMN0tdOzA2Ax9fW+ahrX$u2DWZq1@@b?- zN_G+*`IZ(x2lOGv%ICp-LB6?jO?PJtSj$xFPvVLI4W-8wf=ZXCOY9;sM@W zvh(9C77p9|^n;&={7^^VuPu9y}$yW}t9z<@DMD9Om^#&Ke7dbaZ za=m|23XJ^vRSJ7sGJ?0v?rLXx{p+PORui795r5PVyM{v970pm_2}dME4g zX8%VK%TiNujsm~3^uu$3eVRRF$%UWhI7HFy{+9N?b*tg9!G;b${CM~zPIwob#H7$Q;Es@x_IS6j9Pw|SmYh~BE z7JKgMDPg;{rmI<=AnH6`3O+ME`*uglov=WA)BstVr_C2zH2l%hUN0|kf&MfGpZoi~ zTg9|K!3J!myijE8LG)-sHAMRN??)gd_z9c4+6Y>Wyyg-&(j^w5^k$*o@{ilnh}sMG zZCgxT+uTF%5j%E!TXkHp(6XNQbuM$f+VpXq!W_8tQeUH4G`3_J zM-C(nvtH=>{bcOnxnJQ4M`{F!4^pCof9vY=lR*1cu^1{&@F3RW!3Omt1CTYzL zmSCiU>B8&SF3ecsk37!aH9Mb_GeVc&8#p0p{nBnv8#^QgkL@czm(>S4-|gMZ&iFTf z2=8h>;m;QE%ApygU9&b2(gq^Rbh` z7TV_ST(A9`&Q)j6brLGU2Q=iLnLKmC77Nrux*<=#yDD&MKC!sBnDcEvsd5y@VJuYHqEr=GgIuykgmChqZJ)0Jgy0 zR}N0I;CQOr6`n+3b^Be=9Mvee=bjhnnS4;lEi4vI8k(?4wjZhkd!EUEZ>bpl-1w&$ z2HR)$$y1JwbH^HfL9zEUj((rTO34UMoFgxdV~Z!a%_jF)=;KykkQdTUbJx0@I z-lCQY~!__^=^uMY2>DTHAF+4lz3U?u^CGrMS_(er@hUY zhLA#Ri^i;zb51#7b>qeXsqxVwCQ+Xz8ZbwadWu@0GyH{;7pmpp0Z?8Th zcQ@HJ<=-2AAZV}V!|0X#e&j8L!b27%rW{mCcyDBW z-~oTMjxjyZZB#5)L9+CIzl5@ML-1x<5Jkcc{N;Z%mg(A{&!0pCK0LB*B{)MY)q$3K zEDRkuk6!%{m-!~Y1L2JaMy;5)X5a7I&JHt9Cx}B&DAEzM1Md4O&mX9%BFA2M+^=yO zqEq)t&su*X&+4@RM~@_vCt{ZFz-UH-m9Ljyy8jm3Ir(7Q4|>PT-S#&Z!%TLc-OX&R zyENtFt)Vz1G;d6L1CZyJ8!*5!A>g$|Z#)@jU1GHQVrXI)?-li+XO)>B*~3E{Mg&8K z7!%>ja?=!QL3cXkoQem`!!3IjfCh3@qWq&owRQJ-GNBo;Ci=NP*YC%Ttgv{k5t|=+ zM)0pzg3f#?*UWhPzaD&FM&|u7tzQdn5*ADe^$35R^cVL4 zqiKR7OZjTuat1)cjS>|=LaTEdEhgaj5}`QutM0ZB_zs-vEqv5MsW0BFJBySe!Q+qk z6Wrv-OvjvFMY+dsfaF>pZ!rWxI~x|Zbo;wdrl2mW&`OZ^2fS6bj9S&E4Z!jjf%XH} z6*abWB%Ww1pV+o0LB^j~i~$btrQR;%7b|0D4%#;eVf&?F$l1QHHPGJK(&ou-h8U{Y zM5M9e5WK^-g}k}+J)Q{52j4a3w(d)Jc&-UuWUcp>CVboIB6M$#JPp-M{RMxMKft-I zS5htd$qk5QckX@5b3_Isq-|Z&T`ph=ROjlr!bxA4TgZalLKvjH7=URO?#6!0O|x=! zw4E5EU{s^rt~kh12vLrKC8+FT5%@*_;OULg!JNsUrm(AwlIQ5+`T{ z9@szG<)bCIv1r_>8_J#E=ur#?Ssi5EV=3-Wt)B~MqVqO6S-@Gx9r~_Db)}w}_kaA{ z9z(hHEH_$ z5|Rd3jYX_O#CsmN6955K15f? zQbHzAN?eM6M`F?m)4N|cd)ah#&+l*I6QlcS%FmJynR)uHpd4T`_#bP(l{yi%eKTa4 z__&FQWr*%P&V)(DyNOv&FZ(dMUfuC}m90e?Md)8wp0O5#N)m$il+pfAGrY9thvwtl z>nt$aN(uIQ(LhQUh4rJCfj)nAFFcZk+;y?f4^x?|J9Q4{51ZcnNY%Rg11)E+`mklr zmaW?SvC(`LD@OEQ63&0x(#67mjPHRSTK*LrdDi5=QT@$>M3qC1$Jt0btRK&;wC%&QJjV2Q zPQ^KDR5!Z(7?c*QJl2Y1P-S|bFCPy-;1vLRWFS@pv7^U~Ioo?Q7rBSy7n{R}1UXj^*VX=qjMSgfcQ|$Z({=%0 zA|{gPw*lwknmN+UgnAM;R}inG@KnZvK9qAJ1qH2M{2+g;0DKc~o7&BF7VzX@K^n{( z6JW|yws%szlrlfk&)0BNoEiAoflVorf=55M=Ri9-mdp7#+Qqk2d}8h#^ZUp(7rXOT zWq29wAk9)jXdzJ$-C+LRRMnl;Y*jq&Nb{}2+4vb{ zh7$p?*fTADXxT4)J$(SCU z3ZgY1UP@Ic(;oG5H#S!uJl<*j&bjB^$U@Mx*Ngb^mE{u6-|+lh zjtPFUVQsw3BXsKTE^y}MX2Ggl(N#}7NYkV z`GL>!6)GC@*M!sSv4P{`rM`aU4>K&X(v?@?*VQ%;x?o?1CGqdDnK86i#)DUe7s(wB z#Nfec-5W>D^?|5@3Rq0d?e`8G0^EE&V_L}%SUr64j9lSXy%di3)PX=9$|9+7&7?08 zW4@1PWk5F@GnbCX+se++wCVD$&LWTDx!9-bTYLGb0oEQDWL7-`Nyj!Nr=E6x1~j72 za9tVq{$ z*=O6>k96?-IQLwxb@DUC<9l3bS@&|DCV7(xQ&K!_h8qY|v;5XKOKla6eW|KdHqnzk zGt+vb z$~4=>?@E%}bBoMTvO4Dcdo2^gzN_c45!$tuinm=xi|KzRE6AFRoCTPK9AFyRriOA{I*yL}?M6ix3wEe>fZ zBA_%{KH@&KS078vgp${pr9-GM-ai?#!2vyKjgo@&#W z1mPoM`eZRbN(OrTYLbXZ*pnI?~7pBmMlr3_;%FpfkhDH{gYweS69PHP#XC0e(+4Zi`p8Kno%G zrF7Fzhd5JZ!SIRZF%C4AoXF!=a`y(hPA3;j7?oV#9*&DOs%fyoQ_MwS--)fIweH_U zqgKC9iBddY)L*Kk4r}6oGg|IuET2Nd~_9VPM7}B6IrI)zBvc-+d&p zQke-?5qHbMHR1EQyHUNgDLXTgjJ$g!2$2di^6lG8t)T6zwxs*;@?z=bAl^p#C*F!t z-QLaX$|_ek*jO(_>rkOs2jQMOAEI~Ws+#TR%^(%JOE;tGh<}9p<6t{QajbmVyH|VJ z%t$4u($<24uE-!TNvuOYd-3DA*2(TE)sYA!;SR*z(_&<1*;56vGn@!;F2$&y}e2J(#HP6uzOijxX|4#vQPQq45BBq2YnfnQjb`M_KVO^B z*6*64J@Q(PSnd4VL&+SGcgn!|>c&pV$Yxh4|1!BDXJp{QEI{iw#6>9RNG8K~}2jc)2YC4U8$)8s60)R?$JP2O-!s_N8hf zI|n^zUCv`LmS%7KO4sjKJYGI0oEv^+fV_?u3)Pqw@t4QV@_$=FrjJevnu9TR-8air z=J~?k-q>K zmE!@>&_H89g&4v=tCIMtMJ(%y$oT8CkW*jnU9p>4bv71!vv|xU1EtJoJu?jEl^MbO z9$gA}26bA#Ud!V4vnX9IS!xx^{C)_(0z>{H!vGL~iHF}v{;2|z_w%myUHq=gu1hpM zFm;X5+&e%CaYt+nuXP{vixg8HIeKVN!W6$?NA@f8>MlP%0KWm)fM6Yj(q+Y%0&FZ} z5r6~KwkU|MH_)gXygKCrQbSc-RHhD_8)iWM2nkC_6-$h%1@iVZA^tJ{fWyY!4ZHx+ z>Pyf!sX=15pI6;@?JveJN+6xfVc<{5jGV+OPd4T;T>iU`5lfABvbSHQ*k>PGK=o(0 zXZH<=yYAz2R1Ih(*OzmoCan7=C-`a0lWnUHRS;}LRO9--@t%8*rDpaNLorb>LOclO z8R5=5eNYX>T+u(LEwQ;OMIMRx>J49VMUWn;#XlQ|R?v0=2UF3@2~zj|Onh{eNFx`K z7pi?}Zse*#lahEv-gi^Be|w1?`a0WgWQQn^}`AD=I-UPEYzhQnX-6S(%z~4uu%?Y`aFBzv+6eu z*dV651u-M%UF4@+oi&l1U!4vuAB4kAuz25Fi64UBnL_}P(DM&h*d*bKm&6RT{m)8; zF>>Xos}AkosKR1pUmNk)B$ZBtz|OQW6NFFU1Wb$VTtQe{yfWXnEDcI-FD}OtMFVx& z%~`d>EiVIAMsQmZToZK>rs~@isltCRIwD4ysCx~H76B!r28P5vTK6pgR2hJ}(rIh_ zy^G&9u#YcT+UuHw+f)A5>=s0*i1@?@Jtm?zrwj~>2UQ{v`?p5O9Sz|50MdBjS??jo zQXZeY>YB4Ef)y5wB!LUE&YH&+B3gE?@(IG`($ZEe?}@V=U?3KV(hyQS8#a1UqmP_M zdZj`Z?@9r9a4j*Fy*S~nT|VWCiz46;xj)C^u?T$2&SyDwg=3cSXriIMg-`Q^*a-rQ zrENdiVP&Kbw&}V-z8$e*wfd<9nu|WhJCw5yZ%*3BdDyCsSPob=7j@B6*|8>n!F7i{ zna>Lf(gY2Z?JH0O-Tfe%^iVhEqu?aEl$w0;B;vy!11~K0A#H(=krY7_fk;csY0hv0 zzR~`~*2J**xCd|;Jsm;f0ODIoXDv(LI52YXN<}4ez5bdAverR%jDf4vY#H&A|L)cl z(QWZ=5K1W{5dmhh?;Gz-7P^oeHAwO1uEJu8n9@p?C!4 z$sq}wFHoPU9swFu8u@Z0!T<(4U4s)j{?NpffN?$l?g2&C?N62GU;NV@No(+d~7>DBZa$f;6rCJJ+FQr9~H1^5Gvf zTt|!#5F3F)CTH<`n(h=`*Tj@Js;*LYU2}lG}V9DOzJb=yp8m%X#gd-``40WkK zTPT5y0F~Ky7ys_^35BSz^t#t;O~wCGN7(Oke=3J*+*2h9%>WKSBSt=O(EE#gsM=o4 z3#tB18rhIl@$h!d1N!rM#K^tnkGEi?t=6X!BnxbkCmL~{k32G-wCuK$io^_e<`*|X zszI?0y=1nyK^s~q;VMMT%b3nP88T+PaqS0mzr40MO(0Z7ycFIvYsKJ^#kg}~va-h{3J>#GV>dc{j6<1oC)1vf-Oggw&Gx@J zs~b7!s>!)~u`}OCm&shh! z#rf2ccJf5eJ?z@k5?TkFZ>X6ldvm5;Nq+hKEEjI`61d05B}LR7Q5ZT5zZ&pf`%Ub-Z%gE9?O#FgL~vbW|Zk9z`{+N^XQ0B#%4zj2N5=(>&q^kQ#e1}fjTs35_{ zhc#Mg`WZElWpEtwEgNtkoA>-Dw?_$?6C+5V8{eHrRrs?`BPJwmE%u7HglNvC4yJZb z3iqN$yswjYt~N;LDHXOYw4W?^9Z<67Ipx-l?J|j2GTzhrCZU2n)rNw)nc#BlXKwa8 z=wQapAj=tId`?A!Ej|bHX#NL1*}xFFawWWmOv}1J*Px5q#)%i-0%dtC%XykH8^ldT z1p~#l7Wo7!&CsxF*QTHA0TzD+dp2|qo}4ctmMq|a5s577 z0%XKpt`edcTDdO#8EIlD@&T(geV*W!Vp0X+@(IZX-zWG@P=Ms0&4Qadys%UA#;bJ8 zalr5!SM^aso`Z+ah z(?hkw1|hVfFOCHIAKEiBGr|BffJ@76qg|-#8N)3=hdz;MG@lumf>42y=VqM{hS}7E zggz#nOnuN&(~?cd`Ib1VPXYWqH|&Q8>9GZ}J^DG+f&xD958u0X-9#FhHPjz5!V-2g z&NhcW&Q1GCynii``b(RD7r7Ke`HQ0FTd5k@Pd8yM8?m4^)WK}nmw%9dpRkbxwM-;> z7R?MyjD>mdf5$ga^=^NnakY4e&XbHfiSRPrC_)ud8u#&68C^1*#|4!Q8%2iTSYf(_ zB4We{#CLVi0!IgMB_k|I>EtL1u2hpa+sHbPf@WWRRIfe*z|w@A+;4qv-IpJjYkL9#wFvEzN5Ry3*yCBw5$Tw1u+Wpoym5lUB}`ns!}xdH__cD?=7 z%~0F8pM#M)bL}at!9Rm)2be!t?|H^og>5M?Sc7ErSG)ZaL^w`r+m=a1KI|DZhgs^! zGLz+YN|L~HRji2cXPFUdaK8UOeDrt5QuksR555?6D0wKO$;;UiYi<=SsUPQ0Nd~oB zM-j>pqkk0Ou}(a38AU%#Mj9eR?WUOc3|dcZ|}|mW&8i< zNlMdEgldHFALbV!bMddfs?`JjaKZR)(l4@45<06;XW5LN_DF`;^fpeIOg->#geJqg zn4om(bP8CL=})WfD#-bpmc-?EQ<)k3&x9;u-t$g^RcfXa*XX`j#b13aH?%Hzi^~;{ z{)$EYULlTp9bHs@Kpr^&^chlyYc)PIN(NA}Fta7YG@web#2c6Q4YF{?|FWY)Jtzg4 z1gjZBlrCrveRMv3?%G70j=AM_ALl$>`b)M*d5t4Qm=SF7Hsk6(GEPt=<|>LJGCOvc z*ftzG!N(`ML_3sl{#^530SCv?xpr!1-HiGn;*Q;FTst zxVKd@Kn0=tDTXTV(t2WJ==w*_`A5UC*4 zV1!bKJ7=d&I($5;~SjOm;?W(^XY#p8~@u)3|W{FB0 z%b?&;7Bv&|(~K;Ze&`o1T?xjFLdhd=8}tWh_E}k*`JYJ40{$Ze|E`w$Cild}EPRt^ zq{TJ)UbJ%*sf<_zZUbN9i9Pz^-!6T3ckg!~&i zN-hb7j8vG5lWLwK!%yZ>ggT_q01R(~I)drl z88S@@zRi}9kkXc65Bh~9j!{Nfd3n2aWpywI??)Z>HC%msxlCh)O?t)U+($QZtVT+& zR-|6!_Y>ri81)l-W*CR8EcKpm8l{sn|4$=d1_l+WLl+eaod~0nP7-W^z0bb~>3~P7 zs%(L*kESJ|nT!tr&8TU)kTxEcZ4&)p-%SMA7WkNF+0=EOz4=!yd5|axH?Y5Sz8TkC zGfp{r^Mqs=U=D>i27>aiy<3z0Ab42k)+(N~0TJ|Dk;?xFWMg@0dIZe!R=yf$sVJ%? z)1#)LM4RQN`-TlDR9cCVS(#g8ju!=_+6lg+yR@Iw|ELt;dnez zR`Y|tx@LJ`2#lVa!r1pt|8joLZ<|{yDue&;NfE3)#5sNHq(Lyo>IC2awsUv{Ws|_h z43~5PDE{9MX9oW4LA}c%UHR`KVCbhW&(Upmzu41j)B}>?X(w9e)X6VL5t@j|>}1is zELe?n%mI**%hs4bmR>1UX?eZ9$l-RzUeYHAbd4c*n7lE{!m8mNKeszpRXKB0$M@!A z)V@mS_?$R*9tlGFy)r}lf$9ypY1FHK%<&w3&`vWMAR|@gWZTF1PX=;mk`bONNhgFE z#G{B9^kma|0E28jD0EC6p){Q#-iF-6ug|%Czbt=TwuJfyprZv0+d7S%8cP zGaRMrY=J(OuA~AEN=FRK`N6n91|4#lPt+(q&S>aX5ZtEGFkW{<%8;EKg)x@=SGoq~K88naD*8QS= zA`P(#tM`72_8*A{h^ZU_c~OpQFgmYZ=t+D6%HnxngHPBxNVET|11gyQPr<1}ysiMY zv?pY=!Ybabg~xUrmf5#fl<)bIY;M_)Cl*uX3=?oK zH4i2VShBXS_!&(5rpnV8s{&DB1}qg=>0}Bt-z%0GIDogMiej{U6q~)+8k0@_7Z<5=Kv#g2ZI`i9C$W!uW{pc0;ugG#qZA%Sam`HR@N1|`8zI$fq`-~PR{26Py+=!?@oiHe$_ zcTPH~u?4nQp8|Rz1fLkJlTOZefhbykCMu=4O*~zVXHpQMkve==l44WDw3p z07R_}nr0lCP;@jv`=6FY(U&aYpK2u+bH_k7Og~0atz5~5KBodG4>-A6?LB>L=&1B5 zUfmp5MF-m1M^9~z4YNoS)Ji+57#>8r1$6bjP+SND5cN{A&R7mu(KBDY+XfhImLq## zZlh%Rhs+5Tqe?PJo53uYb35^e$N%tMvWPO|KPHtyG7HAHjPr~90`PoYdHMuhR(5~^ zclbr+ST#=6-WC)mW#E>!rm={*Z6e;412s@&QWCabf~`BETxlfMi2gs|DGEK zumq3|WjnR5D}tY2=gO@!iFNv>N!ee=oC${yq} zse!fsB%$tNMTzqd)kM7{$Wz&ai>VZORaO+DAqA9?7b7xuwUR+9NM`u)D}iOYV7yTT zZnJJZU@MZH%3BrE(ynv``09&PW7T8A3C@4vK+{zt&li_n5(DS)rY?BSv4#u}=(SGI zWT#E#KK_h;82K)GzqL<*Y%pRC2UNCABK8l?ABdDA+x!#bE|4mSD7=vw^$NxIRy>U> zBYhPpHsgWnKS2E@N?n)vQO#XYSSbBOD}!+R8wxcT?a;6+gMW#AWqi!e0w-mts*lws zU;Z#Iavfyr?yqc>4Ou^%RV(CLvUxCTJK>N2aagHrjJtJl8xzCkF_3c+OC606l^S(Z z|7XJws8kTGt*Kr08)>^WBS|00foAzqohoADgf$Bdf5we$cqU9NB3w%4v ztW(PTcnw-W3_M8g>Uw$E=_};^Kn-3wn`m#{AJ^cDku^&Xkq^Ag+nXxJY5v}jWdGT= z_sE3L$+kWWpaoK7cGvv}9aAz=pq9yiS{b7Jt;M}^?5`0xR1}sNzi8}|#C>IiJy-nqeYpMpnmaXu6-I*#hgjx$+ z^rzR*?7OJZ5PDT2UX_&JZsBBJPl4|%NfuaA?N5B8p8$Df7#m|5)l8BNKovfh8sTw72hWx>#4C{oRq&SHz6jiIVPPhs z)q?0b1~-x)^_7kC#&kbt5SAM9KHci=oTmP~J;e)3`T)S~PCF9hdFUr9&|C&dQl z-^XVEF&SStu2Pxf)T7*$Ryk;+D@HGyM)a*CE6q?zvj8C{B3=&7!ON1@phzg!^c;t} z(G&7y?5d7DCh(s!DD?u|>H6I*_rvPCrpqW^P{Kw>|(a-f42vf~rV&g7Q}+|ol+(YXsOWxjyWRQWI$zf8LO3&4X#7 zA}rRiJUajfmP)g>v9S^@9Q9jO1bJrs1 zOr9aBu@X|?il`-G+4hcyf6LutCKiFK&u5Q|(O8fKK8@Z-G;fw>lGcXJJ zE_MLlCGC$xBe$_s(D|qPTtj`3Tt=Fq`SKsbUmu$0R{_)SQeV`CijdA1_f+DB5T?J@NGY*4#+lAX%7S2m(=Bn0<}b-GDD8BEq(V`# zG1V3J2i6Cz`c0aX8hPN1_wW|T-g(tDQYPEoKLxfPg!!vuC$lwX&L`sL<4Aq=Tq#U`eoZ66`!TP5Urq*n8Sv+>{Nv{ir-@^k=2BeA$wfsZ%H+$6+ru~VBtjqguY zb_-ppX6d5I757769+zar5WiF4NUu7X>Mzx*?vDR37z;TwO#B>fqBjIep z$JHO%k65DIo9eg&W+_lL18eb<5s_~NXj_uutC>jLShXsR{O%sjE3fwmHRyTQy=ArU zjXkDJEPbze;IW(9E%F-}2^Sy!&YCW|LmrWoYT!K;meJQLfbQMbqnx+WCGDQrLK|Ef zV1v$}B*=^zzd@5jTeQ%sCUOM}yc8ZTAfXN}dSmR znkSYGwvG#TD%xAYryo(dtb4X+7C^L%o89Yu#oL5%LQNOE(x*7cjyaIrz5o~Jul0)4 z^AiORXFi15y&Rk7&D1@3P)8HX`T0XBv2g|<*++*K6Iw}UdtX>|`!spS?CIb%JtNLo zvf4&h1I);NFa6W*j36uO-oY#zgvhjdr8<$T#$zyH61*<(5qN>h1%osHU7q~q%bmvv znW+!8OqDDRDKIT4A!{NoVN1>ikPU9R(q2qyTE(1_8~^GM`NT>Nj@&u~)@77Al_j)h zm$Lb)((9n5rHNAzd`)&^*5!y}p47OE-?zfU+$N!+3uFA!ePEfKu?Cx(^)m@X=)nw& zUKac4v-1v@C|+S>LNVAmTC}+skfABr#ds_mUHQaW= z=I?x!zK@_YvcDsl`7r~x!Zcqy3AGgP)jGR~(M{{b&1N~So5-rOqKZrRQcyz1w3 zeuqR(O+0RNtetut=k9OZaR@s6MQwp`9up)axDrfbyXU^5ORc;=e|-Z;Mo79s*_wdU zAiptWG9k`P&^=wK5>op3W(PWN}U~>a}Wk&Jy?<&-FJgnFWtK{*yTA7Sh@k_mX^y5#aX~K9=<7Tcw zt`I2}nBONPmMHw8?Uxh``z_<$O&w_R`}D2&7Qn7H0frr+b&nA&^L3VS21s-Xre6f? z-b!6*$&ud@)}&%RIr!`VjZ}eBPk0hO0)ix{FUix>Itacx*B(PF(YtVJ$!`H8&_!{O zanVW1kGukOM?d{{xwsn6{3P5@yx+2C^=2&bPiM(SaNf~#x-MIeWVN;N?BwQf+LKZR z&|NnC7&ymV=pwo{R`AGq`h;^hLEzGYZJUso8%K#MD{)4Z&v$dTcdIW>4xW~S`CVV(xc{vJI2kIrxK zn7kG{JTfj;%Hh0|$_itpqbklj#$hfX5JH!bEyFp_$8=n(l#f|ICmsW0T3q)Bf9OnU z+*l36;&}eu9cJ%4{om}y<34F^&0Y5Q=ihD@P5m?9VLIXuuq>+tG8T=+%hsQ_>K1!h zkyiC(9=pKLJh{{8g!i0hVH)?q2pT1!~d*&-vRG4Q!_~U2ozL)05zKX~^SfvgjMO2fGR@yC2(R-Rr(^URT64Pd*SDn+G-ePfM3Xm5X_ICm12=q9fgE)NBl~^clbw@O|mPGxy1^tOt`)M z1Ckx^XX`KGqChxU9=o$MDoLX=QSog zT=*|9?9z$iLOxlGP)1z#S^tJz347On=BT0ew`U)Vfk>y5j|2z#BQc;Ha`*wGvPAvw z&m<;Ei8KB)wt7pA{qsG4w9VTatfryWK6%>*N;calPn|`#$t1t{B!!{`Uoct{q7$ z7LK^6*n8nuTQiO~tdAdk>dzo5M?`12Mm&Ro0u?t@JX|~wAJ+q(j5cWs_?5NSkNn3^ z0CEPRPyHRe!Wgdd2K+nH-@+`qrw8&qz<=VT5%!+N$LQ50RvAflil6$oyQ{-Ke9i(Z zFM`qBq5k5(9qSK*IE|f_sGg1}f4ic8mbYV>*#04d0p)+v{RokNP}Awh=9SC^g5t8z z@}KH|#J7KbL4oDNcO@4{M5vGO&r8%lx)Zxl`Vd9e)ojk|Kh9i@tB4Oiy{3N_&@4j z6@qz57N}!be}4|aOpX8k^^eEBw*EcP)BWln|62CGRWmziX&vbX$N6tCks>(_j z;56N-{bd|yyp=>M@8i|-D zSI&d-$hW$#EjF`yfwgwmTT^?zT{P_-wr>4uJALX^b^)BN2mk;;07*naRQi-R*mD~m z!0chMorYP=(JuEUy4LqEO`j zp*G$wKzZhjTx_+7Z|tl^6XscQXSppNca^Q&xXjL;{6;$ibuH-`YU>)7VOx9`)l7Gf zjm)2F7ot2zeX+>6QU7ek_y?rAbE)tAoLxm+VUe1n|64blQYPMD*!Vl3D(fiu|hnoKq{?N{7 z&O;&pM+^N6;N%oml*t(Oa8`B~`nPiYB&uNujmwqftQYDuj9R+?vL&KP5jO^x;r7~JhGZC2aV zYGa0#*fl54urp?lv$l>l+f>(tbof4{4%CT3EEN^e{=!_J&F&KlcVY+FMM+9+ceA3Mp~kzXEWG~Ry3F*a*-l`Y?}**f9yMg5n_ zblQ~a5_{94IW}cvrLEk&&AQb|&a)X~D{bbeAs8&Ew`)<}vuBUD^>uaD*wT%vd%N~v z=48%Tv>D=uR}|T*tu^{&AUldDO&MX8#d(-vH+$p4*>>XOk@gA(A=@A2pWZ^ z8kE`cP)O2$C-@oHiMHx!#FqfFfbt?@F<;aEnt9j>|0`v*KT63q-ZlPYe@Gx6kx+^L zP7gotsDBO?|FN@HJfza{OCUqA3w)hqXa09Vaj}(+8odkuyT=Oiy6mbGr`x5+PO(yC zxpL!n>wzA-?$o(<>XfnYVe_n{INw%oYlNQbwozEg^OjTR*xd2e_Uy_vcJlNwHUvs% zdjmc(x*PeUH+~Xy$JXW!YwqZ_1(U~E9hN>f!4_S7>_n??f*+1@91A`2;@WNK<8|33 z$4#*-Pnc$-tIBL8bVoPk7{`wE?`?m?vVhr@|IyviYG*(%T?3m~RaRiDx78xg0+|`= z^D6WOuR`47>EmpDZLKx7(r)BiWod!E?wEiGm0s0k}A@2NnldQg(gT`&L zQ{C{PUpIe(y|R9z&4cZ}4tdeGytE1QkxoPZ1Ny%N?YLy&OgkNRX?<;-HMMof?hGj_ zwDaeTL%VLl4DS@X95}i_*Y(iT-6-?*r_Yg|XJ4fdtFzW@L%Gxs=q>-O3M?B2M7mnr zpqJ}kL;r)t|0s!$9ov6@@uTy5_9vJ#nI;pQEvY;(HR&vaz|IQ@A$zQ1@G*>UutZ49 zC*Jy<14SdNIOL@^7kznR0O52}>V3sO>$q1{HWrh!v01!8$kF(#=YIf>!+3jc<3sk2 z#h-@2ZMW5RFWLvs|E4XP`Z}vF8Eu_d^7ZVxKiFTL{SBKl>SSwaYqqu$I=ueYaG z{l+@-TC?@1GCH>UJp1rP--FMTj~UMryLjG>R#7m*UfB8v%g+?r^~Zh8E}8#UYiw?` z8KaK3t51BNy|C_&*3h-p&YE(aT{!ox!rcZXFlWrkcH+1TZF1EDn?CY5bb>Q>(fpgN z6CLUmHBZ~6vu?IUQ!ar3zD;>o6jj?BPJFL5L2<0EdjT};vBhJT*n7_YqIIGJU0E;` z0(lFZkxrz4#>S%)f8*kh+gUS~SZP5O%3Np{%zF#I5LIl;w>=33*JI~TxykeJ2W{2n7toPiZx_#aI~?OBcF{36Svv%wvTzvizsI)Lu7v{J3Wa&OjjSAJ zbn2N3J_m{Fm?_TKPX(=#TLybTkXC zsH_xyg+drQj6g#+HFzX>irUg_$V7C0DL)$6?Mr`-gq=BSjQzhW7TXqd)J9j9*k7D= zyuG}2yNxI>wv#80wlVmA-`2)Pt7&eBQLMLrzUC~uXzo<2YihDf=T5OHqpIv}i|5;S zAAA;{`GZ#={FGonr2l*2pE#n@K6&Y>_Os_#S_x(jzp&&iq&CyzDf);)I!2 ziw^iJ+v;rOkW%~F8_!2xT`=Hz_O?@xK_@BSo?5pJnWN)K6gcJV4}+;sc8;GhG}P>T zefo;it);!)rVg#Jcb|E@y;@gmYigUVq9otG`__vvcsC0Az0EG1GYJEC)9tq}ud&X~ zZo7WbYH*B%Z$nR5Eo@OVH zA7Sr069a>w+uYIB_Q8u5*&kM~x9xED3?1KhpM4zc#6qiWZpNVGQ2XG83+;(@n{6u` zof{X=wQG)>VQ)KazO|w})#WAjzH?5pm$q%U_4Ryzy3_vZyc6slpid(P4HiuqWA8fS zIQ#XBt5Lpgd*^9$?fMhv*x55CSR3j)8#DT>?_Dpfu;a%Mw*@F$H3m~^8k=l=Q;Th> zZx>CSi_my#OmES0(Eq#{<8AiX;a1bsjHn)aVRMaramhJ$`7v-rD@u(M!hdo4akgUP z2K)Hsq;Z>_Fm|LZ!C=bI|FqmX;8=a*#*1xed68Xr(j03*oi9P!i{?(UUp)_-0LPDQ z+8=)6YX=S6(fK{n{EwqW|Lm*(mFnMD|GGp`Wzi#{W^!M8fBfG}SC@=mBUMU%He0{w*sACpd?nu54|b>3y&}__8)J%*v3?rSzT+pT?PHOc*a=!&2z7y zBR0)uj~M~EZGnF2uxHk7g`YRwK7Zwz)(ZVHsz2r2THKNK!Rh8QxUfl%LtZfdz z-wCboXHd?s-Eh7=xqgdns%f^rzwA`2ZR^A!U7daM@>8K3rrFqv66uO(Fwpq#H(hL} zOd5^B(0V&>_9VM{!A$%4GcN-JJB_>6|E%qf_(gxDD=qG^pWb|hoiJ_${C`Y3&A~(u zI-Pev=Mzk)VnFm8H(Y3WC@;o8?Y-xmXa$&Ue|Ft=n?G^5-Fm^vcGZG8pnIoH98zI7 zpK&a7Zi~J7q`B6N0pzQXpJ~%Z4zYV*T!VpxHt9hQo}NEzqIF=I@zo1vV=#8O-M4%V z3Yl+{M^@N>qdY@HTmCup`dGmK;g$6m1?;qce&abdal{b2^4RGZIBv1?=1j(KqW$ve z0hav%Nx`#)CWYvxD9IytPGRz>c)WtCu$%bfE)z!d0*ZzEzMX6;c{Ax zt~>iGr5v|Bbl(RCKWZSf$eUEcg@Paj!Lkd#LcAgfBg~3zf3ojC{c*#zrJXzL1{+Z^ z);@FZo2|L04zr`>_J7X(p`APP2K&YGFJn}O^@Ndb&Dft^_9^?#(jVAeD{m9JQP0n` zk6!v8_RD9#j**^s!TC7bK7RL=)?ElE2Dsm~=wIw@i#}7u9`0IX(k+BB5?a}vuZW)`gauEdZi+1-5-%=Y)7(NRQ#JBCYtG+FY&UxhwI98vt zW!oONbu}yPx=a7o{^yz7?Dy+`q;igUcDnuDW#32ro<)ba69Q6UKVN#AJ-X!%;Lq4e z>tAngI^}Qd7tepy##Bs0ncr*w_s$!vt^mS|^1fmAU)fCyKW_i$mluOxm{l$xX&?K= z8?3z$BXRK3|FY;Sws`6r?8(jd*xk#%3Bmu8{bcF?vo@<2{w)2S%--%`AY>InKzumv z1K0kCn*WX#{FHSGkL2B7r1n;m5ocUbk}{|gamKU$xT3?>#{dDGjh;_n?(!`d1|lJ3 zDG!PpI{|olJoA>hF_c&0M9z5fj1=bpA)c@f>GOsmZ!s6rDj7_t3hQ|=Z>7P7Rgv05 zxtKm=Ejd@tEU&OT4lVyt7-QpsIOJ7;aA-3G##}s};H-b1zU}34svYYuGI$tAGW`xU zhL=(dE8GL8rwfh;HwoEO{ma!CAG`Pz`^2vwwMSQAbq4<4e)=)$xV`fSzq2;T_dksv zX`j948H}o%{o|EqV1}^DuKoHi;8>NQ9vK;CmPbobQ7GI3KUzUI9>7~KFrSG9e*|EK zK?ZKF!Gx71n2G)NFKug6CkEs??AIT-+WzCQrS_x8UqSr~;9%9;+c0zaqbFBdYbW^! z2eTnQWJMed+ZBG=pHpUywfCKMg5B`FU)kn*jM}3dH=i}n-hbAK_VA0pw0B>y(7Mpr zH~-hY*4YiG0G-pX+;EP4 zV(WhS+OzB$boQQkWs_(zf5Iqx!#948l|(FPw|(*I)9o`?oMB78dWT(tS%m9OoMo4P z^{3X6;Q&Inec=2P?6c@JU-HGDs#0TymfICy{U5XmI)-q(zHsfCw&b|!_Q&O$?0U?$ zoI7(O>T|cXVI>iH@3U8(W`BLbiS~Ct`-AY)CcWn;55kEd%}}2=osBx5V4u7DDfn1L z_V$Gp_SxV539#_!(4cH1rzS3BRfMt08n6-M=k9(SGY-@3bN4)D&E1&&(TsnO-Tl%k z`^JMy(N=l3WI>I6>go&ZFMe_#X1N6$+;#_Mz#+Gt zZT4e0d0%3Ws%_0zw4QV%mmRogUltS^P`=zu=7&Zq6Zzj>oNjZdxRiX!j=lZrQblX2(x z3B`ef4`BeZ0xMds{kMBS??Qxi+K=CPnSJzy`VE?_YF13&wny|l3r@m=(0SSnfdmPAN&UXH9FV#KWlfrcZq$e z;%TetKwE&`v&N3Hcm3dAG%L#2@wol`mMiU+^A^~be)Sjz6fUyIUfpQ7{`?WN6YKh@ z-TnS+ZCi7jefR!9sd8t|m}J+WoidP&?zYG5w;#IR7NTSO=*#QuOIKZKU--@A7zo`! zg4n#VEA6Y-oo_#S;2AuRvnmXNy#FWnVl}JJ*j~TA#jaT}&A#{WQnd49cKNY0?MwGR zZ`+%&atXeMEQ4ew&{b^~+KK!}EI92k{mH`=E>RC@)&Dw>{lC4}zlCC86p@OCOhw*g zMO9fm`xOB)lq56b;+gUO=llq0MY%9DMhC)pPXT1SD+|PcniN_l*)RN5YRrQ9gd2A1 z19pU=oN76*55aUG?7rncgu_S39((ZB+wI}ycUUIB)5Z^-XG2S>t+}%SOC*Me%mrq1 zhA)CM(q=z@>0hm=+?DgDu4VSc`);;^fxO{fe#HzSK^baGpJ}`W`qU?e^fRpI8Yt zyW#Qhnmg>KGj7E)4CkNkxd_n|a^2*?N<1VLq_L&*FQ&AgQ*#e<{| zVN9xWhg@P-Dhhd;))rUcC4RtpTEwwlOdrxJAA%DGKb{oNE6ahioCV%Ilr|mx<;YKFV5AmQQh>_#z7-9b5(=S_IF=m{Rp3BTW^z#Sp zTi0Kx_6kVZaJ}&7T8Q|mU&)yfmVCgH@>h?Z*~Xd{%vx|pyU4Ek`W@DarPkHMt88Rd z1xBZPtQ?)rV$43ah0d>XM;>0ckku~mQ|OP!sQ&Xrv26f&)EYjHegn= z9kY}p>_@0)7dyTzU_lW&cI)l>6J}Up0iY4I9?P%W+A*sFJz7vH^$$4p`P8cg_WmFJ*6#b;w^(6*mz{~_bN~C&8f))ChflIw zXrG7UbIH6ZHWafcEc1(-uzU`kL`fcSKCogvW`n2ey{yUAl~~!+Xu|>P`Ve||!&WR; zoBJdb+W zW&3HAF%PsNzRhsXIx%9hW_z<}oI#mi#L~q1SQ7c)^dWHk?Hvz-t*AGUps3Wo@y8eJ zL+36)b%BFQNKC>Do>69UvD<&=?0gKC6mazeKoBFma!;tLPzQ#&{_;Frw}(0*h?R|H z=OZ%`e5k)mjfXpf<37|s;&kp-RslakP#^CQdWLK>l?7+jRZq-|_;JClP7yz!aj!T; zdO4U2;XrHV&s+U)pAADC;Uj*+oy_)zC4_I-n93mp3t~#|50C4eurEhM(BFG4r}`>R9`WAKwexMm>gl z;+x{{y8S+^wkfqm)5gGNG}{wvq36&MWq!}CskN7}wE3!&W~!s#+}>#$&{1RuJcE^! z%R#sCLo=WofDzV-+0{DC08brLZ8aDeU|B!&o5wH|0{uq5!JzX0qSHDRuc2_+`EabH zx#sKlSz#$wVgh4NL5WsPorG0K-{CuqDC3vzdlK_z(8FvO*v=O=ZMOvzM%(5_?4^O@ z#m%)g4x1XXytOSY)`HbaXUv}>JxiOrY+Dn`=F7V8#(UOp$4s!^5q2dkUCcoswT1-T z+n@P~x`^Pt4&Jz{sJH-ud;iPw8#Bx5zmQt_AjhC!h($5vYr+!2Yw(i<4#&LdS`0LP z?+FpP1ly}b0aqsiB~-zHI7EA)b!Ne+5jo1i4j{<|#$Z}KAx|b|En_~)43Bv3fx{Ei z0V0clsrMGYh${Tq*Rq8}_?b5mih`j&Y6LHDXLp-NqhX7&yzd>SeirXx9fx(%2IFj9>+?`xg*L2gq%GgRIv{f*v}Kw=tqhi% zOcK8K?p6pQ>4!Yw6m%o517&eSqr4~&i>=}VY+J)xC?HbS^UGisp}uu1-iw%M6Nk;k zGP52`8>q@At9}vU1$%jrjxj)Dd%SSS3cO&iGtF==f`z zHp4NVj}gWmYi_RtI5G##yb%Y|bTBiHI5CVFD0ik+BH#-|#v@Y; z0pNVp7SI7Xn~5EMckr1D@}NTrY&=wIX3wngC;rF1XBe))8RM9Yc?myD>_jA>-^)oP zomeKuds#BwaJZQ-gF}8Kkenp64U51Mq5I-jl}V=%$~fkSvgdOUhDIkCO_CFN5}F8! zn)Qj9k`#fIAtKNp0KGxG*$$!`z?cCuA^;EN=V7dWY&XRTCIG7b3RT^ij?G8zVMO-{?3CPCP{@!n47dz*7;PINX3EJZ9h#o)7K` z?er%CJcX>B9F9x(#H&>>K*IKAmO7w8p-3nbnyLUCN2t5u0B{Ca`3cVRkNP*K|6KnT zV8-sfKm472a>*I?AuQP)aoJ*feDy~AznIbMY6BHnFY+J$N=xyM7<5)WI#6zGSPK}| z)mYMoLr)|J>w;%5>ud27j`}~Vf3k`5Fq`XnGc%TT;)r4PrN1~^3{{U#z49ai0Emj@ zp)h#F5E6BF_{j@HOG~h%u0#7V$bJzYI&Cj+#8O)5#?k0#Ke1|~<01b+4qkzSLkFlJ zY&KSprMoIR`2p$q+Du(z8){ZS$jk)8||03QKJc=Ern;VS&BMbH(>%W)CE^q64DlU_p4 zlWCC-VXT)hF^D+13Ww!JVFVlMpH0m=uq;ePp3*ZDGl(bPVnd?b(&LN(yi+q+Mo$hH zPX}l(g+TcP{9stw6~Q2Z>W^GRQZF;nvHiJ(mN^Iu>qVTQ{wf&C66^1I0-U&z0r`by zg=EeklJ?KrjkSmo$dLe{e#&225GUD!nR%X}Cc>{U1QQB#u)-0tP^iac&g|0(-DRtRx$HGnJ8*|R76d#V^%Q*$7c9o3EX^!=Rv%s0v@IpH<_ zKOlu)@Scj#vZa7;fd0|}omYZEyU$}~%e>LUZ5uk0?a&)#(A!)sz^d?I`TR`$&VRea z&$@#sRd~7iRdg2fim)kbV7;c+9=zAfCB>6$J6`AGibi@RBqH|+dLHoSV%hStN0wrr z2IxHSAMulyI6&M9e~blF=~yQ+9r3A*W-qPTipePGL56|$+wqFy!U@H;aK=Qe6v9Au z9yUZ!j)+G+>(Rlc4ddP)D73w>k+aY^fQB?^g%3~!J$lmQ(YO}aKfV48iA$`1V{4Z! zz$;BJpxiAO3}H2O0Dl|uCXb1CSXSiEr^rj=6}RY`G+gXbLmV?VCn z_9rNQqDdeO^Xu3CFg%ODS31?-u`)Zq+kgD9+RP3_pfW+JL=+Yh!9MaRDHK!y^*B7Z za`YU$P#6IxQ9}B_n<5??)9d9V=VOKqKuYW$C(VKTlPCBrR0R@9`&)GNvuuh}U$?fSvU?F}u z3ZaCCl#H-#jSt!8x(!$&_czd)-56C0ju_I6C>x7+-IfVn6%X|%O4VOTFxyeH+$xKP z+m|1DH-wP9;N|GTEOkdgJ4VJ{7xGZTP)M;UOUFPIoj=mwK^aDze2zv`L5e00C=a|d z*44&QEanpVPbnP=>EqIgm@D%jopd27c*C^Btsl+-MsT=Sn}@oxETT1Ofw(OHF}3i8 zESYP1#hZC@2Rg?{t zhlzHH-|^<;-{JMlbW9AHD=R6qf4|`(`zMTw|6%o3Z5lEK?+btZx(fs%IgT`@V@~>0 zRznsni?YJ0PyG>I4|+|-Y;ryv1j#%q*n_3b{KN(a5w_u7)&-Ns+V7Tb@cJX)>7$2P z9XjB6U5aR!D{f+OsZ;QWO7zChyxAFG+zjAjM^rl<(%`{Cs(_=lbk!zoB-XBXWjVMh zIv`)_=n>`R_Itb=HV5y^dJ`g^H`F)yW4=VV3GYa=nofZdJH$iZgt+e;7i|jgWCmRAuc9YGNdN{aCkBL!4DAn=1tHiQ}8*y zRok$s6niNM>*iz=R?w{3R%5T5H3_SK@-YF$aw1b)j~O-09>z)>!V4#nAkLeNZH*&_ z;fYpP?WhQ|8JNXggXPAg69){du}RoA*n~eWTVq3(oQn>17pyewE)TTT5Uh%7pzebW zVfg~0ER7U~yr09n*c`O@v+v)7Rim8n0xZHa*l>{Tdjk&1{Pm?jkpUb4KpBhg z?E%2P{Xaq=haL4l@Tv6z{Z&+EiX0C`|8HOM)3fl#A!Tuke;vwDT;K#@pc6F26EFgU zg#Jj95YSRuaGIu`HXF1MK@7FcEeNH8NRi5a%*7W^%C$=raEAQXTjFv71wq6~1>RG3gE6p}IC zq34xl8;TvNmjE9}{LJQ!INL^Gld0!7KWxu#y4Na-hiI2*&eGD6n^|>|O&mTK%SC<@ z9NJv{o%pCZibkdS*y{hq?yHk+^6+D@M6bo#^IB|dq>^w!BQBEG=}I_nf86k3-FX?P_6IWMhqIbgCnAXWBK`x!e+hr0KiO?R`L6)W zJvqYLflgXGmSJ_nA)p|+ZlE5(qhu!B2lggRd9#topoK*K94#*hv!l>f(9R0l-9F57vPqEc{CE0==vHb7t`&`!utC&J%)TN&c3AOl^u^dzWo1pHbP_g}gQ?;E!ObD@?zpM|B*qp*Ze_)ypD7SFS0?5x^=jmAV1 zVRZd3I>kbuKFhJBc{-fIV(aE#;R$#o}BvoBnCmYBQ=yUPFig>{hi zJWTqyUWR$Vt9D%an`ck0+@zV;H(*C$%nl)}+b)Hjm|E@^1mZ~79}5c@8MTA*gssdSi4wr zx9ohpxBK<$&$o|aRn%js=Lqc9eA>)0vVR=RoQ++UXJXaO9nUO>`z``fP2}+7R?h(; zDXsU}2^#AE!Sk?b7RwDiSb|BV(^->!(41?!n4JO{9{iXj!e??h2 zI{R|ik!QrgD)JEisDEQgde@)#5g76Q82HT#?nsy!A`eIX%i&{Hoctwv@fm;W!7~y^ z9F_H2cttfE%36VN+{lHYs&mMMPrQvk=EIOkFRl=X_ayv&;b-1Jqy`jziFytOWxy5uhIeG2vxSo{w12$tP6*&OeClF4MrV8!hMmA$&ifiVht2jc5B|A*|B-*R zcb@rayI|&x*cq=LpMIEvC3U~ChMrCKix<9z&hH8KsY~y)jkT+=J8S?*<_PP%(91;{||N;1dI}+?U>g8RflZZ8diXQh4we+eAj;R#24+w=7%&9A{rxs zcqIy=N)P#r`KUqnMTNh?J`H2d%f4S;(``qsyw=drPsC^T=Y~JzbmuiV}DK-Xq z7)E%+%t^$s6aBBKUikf)vM!q$3rL*-Md13U$JTAeCmFE(>)+mVo-M=sxfAeSYdfvC zD+_6dJ*hwSy^db>e|p6x`~DyPWdC;Exmd1Oj~Uovyn<3{-^QjT`6Xrc#d{vJyWV$= z{rWwxw^z5S7jPl?_7i{Im&)`$DCg0#|`f@B}!X|B6jbeC8JkSpPsg(HJL^oMCMDYT*0A zm8W7g(^Iyt&Of!ss_m$MRX-TP%~;ZS+qLJ|SMPrkyI^xO739UbGjkGz_2+Gq(d=|bG zaNoPWc+%+g)e3Fa5MlDPCyX+tyk`X0y$y zJlkGve8PGv+6CK*jZ3EDb3@}wW??q7-8Qwpf~AKr?AU~AOXg*pR=xrJgZ)`nnbwThA|tLa>4E9$UoT}h|vQ_xk4+2G@CWXS})2*1^8GwW*|4HD@sDRj|&f(pqFQ$`{(p4UgEHPWn5%3oy)n^u*_E+OP!} zjjOP&ZL4i<>vJd@->1WX6@+wZ_tY_Qp<|TXnX*SpNVv!79Rxc9Bg&d50B_w^HdXI`u68&NLu~?PbGc*cI=t)k z^2R#6PmGOAFgP}2WVy}6&Yv%BZNRs1+pG+G2#m(Ex-xA1)Qk;1}Dm zAkZ)EdT-hE$%zS=$>8M3TGad1Esdx*W;RgoGVGf$ZD@&27*=5$>RRnp)V&!y9n=1e z!~`ur2eGamIu#wkZoHCl-1sVdA`f&ctx(6V6#8@mKGn2rbF=*yI?+FV;zi6TZ@1aQ z%duHkH}G}fTf9x`oU&Nhr_-j7s2ul0@C4Hxfl z@qM|n!fqRn+3{Cu@GdXjS7x23V`h0WHa21Yuj1R9>%vAR<16W6+<`>N02|yG5)ZiXZZD>mtFXiP{OWSdmS6zn zxn^Rjwod9ztA!O`MUjYSijyHH^TlA5f0LiXL%4{1_pZ=Q~5pX&>#OZ zKIwn*$AS0168*t!foE~2<52NmaV2(ho_DO|qd)%d!AiuDL+P6qK~GlU({l~jw}78E z@(wJ&%Y7<7qeFf0z_Ja{2c^(SW@Di9y3x=tLq~u9nzQXs_@vH%Jo+N`$$?InP$B{3 zSp5VBfF9H*{PMu>K6tHt^sa~PF$_-5sxF1^iv4O@x}cZJ@CmkdYw5x}#YmFDlEtZ` zD{UG+&BxayUV1wIQ}h|lg7*jfxiuh@)NH?R>^5jHQJhHu9& zgHGo6%IVXNEbD=v47dj9S?KN_ETNtQ8?XwxvazAr9{T7_cJ8OYXUF05aopr;6;>Cm zfW7JHM43=7zJ@a%_IGS)9tKUzVV_$u>)nirE4(+2<=*o~SJ?6`*r~Y~c84`Z9Vb-f z8;iTGg}N|<@5T>7dhTUWZmVHOUxH1deJm@?z=jms$~p|BV^D!K%XG9rmk)t0Yl0mv z#cP>{Px=kVL|2zRvZ@yJ^SyVt+M&1p?Zm)HYfX(cZCoo_ljc0g-@HGP^>5zXn?5S5 zf|FNAmvFC|`aNtk2+4rlx_UAm4<~}(_j!sDy7~i?$Ohtuc2G+NkkS6&XXiJ&{-0=6 z7v!BOva#jU?Upldv;TSOtM=H|JBU!_btvy3$9qo(g8{)~qhcT|cc`vj2jxIx%vjQe z(6a1!?uDNZT!!qMEfH9dyTu>NPe8tef8D%~*|6ej`?se*1YuM*Dx2`*$GG2 zl__HVic7d^Ma;zxU(rZ*2p3w%f z{m5Sj(qH-IpJNqcxz``7Iq696sDD&;_WDVXsJ9};_CWtdS?y@5!64vU?X1uK(2C2k zL|l5%9rqyF0*(0f&1UxgrBrzdPz>4~ekx(wIt->}VU>pY^bYce-uP*ABkg*(e{cMq z*buA@o!{nl>-LEMa!7ZM|8UWN`qUAM8A^(xi{Kc200GqoqM$>tv1oXm-nerBv12~8 zlXpPb7=YJM4sHO$aHLWuY667GfFmRtP$$|x;z#~;;&S*^P|Uhcf zFYKWlybt(w>(3|{RJC-C%|aE6a=*&{Hz>h$mvFGz3H%X{DdQ2 zkYy-GfW?Ko9x_tjhEtY)AM39+AwnL^gcssf(C+cGyugyf&qt))Y5h@1mWBB9^=<@k z#tQd?pQX_@7Xn%hXlS1XXK;i{ir6%xQ zg3;l`1}G)aE8n}}JS;)RC^{U2t@zB(C-Du!F1)*X!}so?MhM1_dI|SP&x0FEedxl4 zcH!Jf_7C_@BH!Uvxptxdsn{I9&n7Y-lm@edopv>5j(JdZWJ`@3;^b&Kddn(z#4jZY zeM7z1f!P7>w#=&P^BKXB+0p(mjlLNf@Cae3kGuhlzN>~Jnb(u&oc_l>b)58^(}KQ7 z&i(*+$NEz@;?OzNpU*)>#u%zz1ond;iaCQknVxC5@@P-mU-UtHuEGre)!)9Gsqteu zsL`1ba>PGZ^Qcb1pNCaG9_Ntp+`In$;U^sP7adSI-_6#aiH*mu>d!c@Q_}xOl>dcR zP4@2)`oDWgf7gGMNOZ^`|B`i=Oz9uVKXg<{e&e>ixN-9S}b z|9hQw<$n+t=|Lfq@Ayg4`CD)i1yUP+Y;#!!wEOOq=h%ddm* zzN|Hd^uCg~WFQTfC_*^{6YRQkV+@Ey5IgT1{!4GT*Qv&GG7HrR;?RLIc4D)T{8lUB zmZywTeQ=Y-&p?JVD4SSeYO*X`h-2Q!L-kiugbQ!HdVbl0s5Ll?~&F2>|l1cYk6CKF?O`)uAs`dkD|}2JO6|kK%@|J__OjaeS`S@l>fc0 z|K8%)&iXyrnUkGRE+y}CuwF-Z{j=@gi#58j#F5`O?!s$41>l8VhJKIQzlk%y8`dWM zPZ`)x{y*CFUw{0U6T!i2|BA5ed8B532S)#Jbr8SEF|4XgON+N{t+T=ke493`n(4|mkAxI9b^$9uoi**l6#s*{q$N2Wz4T63>3 zEEB_(J$~T}87jX4!OzYh4)zSyixdI~97ckOo)fwF7>yKQoN=XD&GQ0zZ)z;XSUra=ci_{E7A;;veYxtLm(S zXcp;5SCPt^$C1c?Y7#Y#s<xKjEkRiLKZGgOvW_y-8j=@>d^_IJ3i&-26c2k;v9 z+UH(topl`DVld|1$D;1vNh!&>A^(#4N(Mx4GJvXQ#;0~;sHfj=>JoA(sG>Ui&|c7_ z>4V;8hU=hgB`?*dk~vK{lEm-247mU3Xy#txjKLhdtB}_ER0lGI(Z_#M#C3&s|9I2} zZnn}sMh$NBE9C1o1MUM0c}C&lgMv)^$BX^fyUYTHL6S1pN!^#MLpB$km_eFmitqDN z9D6?pvrU%lUBudi9cl@Bm@LoS?`xrt(YFhCyyw+M@T-A92R0K^?6~67)GBb~j=>_& zeN4h=7~U6hTv=`VSy7my{9~DfMho;>2=@lBYiQh=p95vUT_0)t5dHF3^M3Yp_(>8y z?`Oej3_!#%m@MelN)f6`|L^%+lzmJ_9cUXp`w1?>`(QCgY&|o#Wq;JT@rZjd(QEs9 zR_p+HX|l{8xFc-iry?4=!}@*t!1ImbKD+SUD>@)dkfvbwndaWyIo<}Gi>bL!#rCLe zzq7fP_t>HF#0=Gte0Q6qwhe1RY0&`KZ|CG#_?qq#%i|-U`ZWE%wSeMR*bRop=jsTm zD#4PHn073sZ-Y%23D?S2UGareJhX`F;rG2LuoUake`#`wk&G$7#JP%Z-YG=(M0tTO zTAD11$^3LM%)*ALJBf5qtMLtdGRFFeOIdmp6A@)b&^4@Z}jZRQi zsmW@U>C>2}okn@eA6bS(Fh@T)_O@6#Na*Q>p^($~1_~DEGZx7w<(0%yT z++{%)l~Bil0>;hOHsS(LDc4PF%GMkNdY<=l~_BrZ2nT7tu0^a zYmnrR`cSE4S!6mp)vCH@jP6zQ$jw(!V{+9&qq-&~r?PIs8>L-PI;aukL_0J*+4~oW z%nR6`Ief{Tx2r~n^kb^7&oJ0SN;uiUwA1wec4W&x-M^3l@2RG_E8!?M4dbkYK6 z9nH>_7b^qQ{xE%4IFQ&?;{m+&yt#3GK2#b?7G#C~$zKSjI0sa_DRsggL8GvgIMKB= zH>N0f2+Un!o8-`l&QFL_Un`vA*MyIM@YqFB1G9$naJYIT?)I;t&k17kv3>7OI0)ui zD)d`YlVYudEV%X>^6t$ae|y=c^mB83=XBN8$)Jjj#JO+vWI7&z&uJabyROJU3P*xH z7j+uY^@B9QDw#f9I>`ILww?n+o0GapCq-j>w5~tV=dn08Pt+ga0HyWh{rkL2N=8im zRjaX%EX3&!YN-e6glpH8=D{{2hpfk?ZU&!XA;oV&c+=!GToE{{>MCOgh#o z56WmCDoDehjz9{G&(I6=La+rp-@?cHB=P|-$32n&hHB5_sW2F%+_)u%w0D7gjzZMceli%o_>57QIKU=jX_;aZwYv88FwJm_acLtP<`zN$6Kk~gyJ&Ky^J~@k{qaEMkol$YFJTB9gqln7 z|6>6l??L-ESIlfUUlR*@`62rh7a_iyqj~5{)(u+GLI_PCY|uA?nhdgWVo~t*roW!j zcwkYA#LOmqjeIlBgP%-M$b(Y8Au=eo42keLIPkG->Ha#ou=rkEKGgtv%jV?R_c1?z zU8=EL+tASdkm@^pi~i*n{m4?j=wSX*@30&|5rdrti{L%_@UhR%@85m6oL{;H+G+zC z>F&`8y>AR?DU_D~5PSq0VBz2UDn^9L5sstmQ3vO~MQeXamIJ$?f&R(aW1i!AHwzdW zyCkaFmm;@Ew=|;O#)*61KT)?X%Fp^HBT6zsGmB=(rW_@bdZjno;80iRXG0e0afI(s;Fd;FAH(wClsW1 zpEnpgTz$>mrHVhF81SoB`d1}5rlA_MN5ZKZ|H}x~gdoB(&h+CRr;Iy0ldN#6FlxvB z50|cs6Vku777*8UVK{1T*q9fD_Jvxs2a%*(Xk^ykRpOQ1cp3AT%mo`_e@5J`&Esh& zY$CTz+`iC>* zDWIkn-JTD~7_ln$pi!2IKg62r9rLQg?;Z*2{2~aMp`Yz00k+@Z1ZW89CknTCLnLl{ zG~h*zdfWHc6Fj-e5;8z>&Ai_vRd4lPf_-4nq6uz+U4!A19HVGfbza^eOi_%L8=WsvE6wyBlr^pbMZ})P| z2TbH9Gwk(BkqM;JeQiN_o6FGCUNcYbK4L`;(bp4LE5BI#S(|K(8Q8jRcoit(M{B@H z8zK`;`+EH3JfC&Ij3MMF;Zk_}&es7tD=j5BMSLhLcjV?{fR#SC@wb(KH-2lB%+p$M%8w zQA0*`<*)=`sSTPs(h@(9hi8q5w<_1n{Dz9wo!%CV$YfeU9k{of*&>I4!$B&P{LgLo zFOOJa{nx$uOsER1Z;~r=xZvE~U#Fw+MH|>vJi#d(e=updnPap7-ChRPjG=i#`=v>4 z2D*K{106Taq9R$`i9_gk?-}nOQW+6PBQAc=qaCK8LD=PMqWM7;4s=KDjg7rIxsC42aojsW!IfQh{4lgGSV;tFTGsz?#>05v#_ zGU6RB1xXf*_$#Oe?D))Ku-*1`E!J|0;4h>pEyYrx_Y>0-_~5x)4(NK;kL{f;WLriJ z2^2JnFuNpiiL$AND=`zlUxOZm%ehQZ(z^b6Zi0aSo<(dU!j{AFyQLC3v#_R zmi$C4zZ<}Cyr!*FV(5LN{fY)>gaBy{amA9k1vkd8!8FO=PHC%Bw;Q$uYx10pM%FC66`NzOK%d3r}n&@FCWmw6x0jB}m-%$o=AI#^m>ZuF? zfrq@>xBu_w>%&u+b8awv8A_OURm%bCGCGRcb8Kh>DaW05WmE{73{=8ALC3=jbGj=9 zvwHb73k|B5G}3w#q<)`kMn~ZAFP4hjct$r;Y2bjBs6@{##$Fg{rO^1MK^)1WDK zZnCK-u9u)cLI3yUXM8p>3u!>^BXvX*P-4dVueXUlM^StxY~Z6NdLJ_EVS}=N-hc9Q zePE*jGmCC87D??hQ!$QdiWWu+ZXTj4B$)wiNR0G2GOrQQn*chB7Y9g%Gr$j?zPwj> zhP6DNqnsx-DLBe+Uc zv5T4h1dz(Cu>bR=p+}*r!_Tr~E%6}5*LP%V@w3V=`z!Sy%srAE{603u&NE3FVYC+B z>{7p2LPn{*5y8TY&>b(OM-u+dQ5eJ1w`bfo6)`wL_|uflC1~B}h=YDLQ#Zi>F2&|0 z=(xP2v&(>+r?hm>_BfL}AxZ=cg_7O>>pTUl_~3q$=e+uFLe76INx zyzcB1jrAia*J#lWE1oYfJnmsJ@A6kYL@MJpmg$Z5(!%mg&vXRJxo}5|#yCenA3Lhe zCl-${`6tLFY@^gfDs!N@s`*l7_^@vDgLC4Ui)qSvQ{n$oQc(3SSd%ndqU5_0jJZ7J z*_Bnfd}0?&O$h~Y1WH~J5?ouLStHwyKmSrbG`2fhz; zTVc!881_=(n*1AVH$7BT5=OaLcb`48BI!91a~Mhkr`Bsc?|absW3?#5ULfKmOmzPn z{)o~eZ&4rK3EKu&R;??+^z*f^SyBOINoAO?x}Fxme1Ok~D!ij~47S`8(&>q5@$s{v zU>_V4F*)($W7vH9NsHsz8-OZKFWcO)9W9|YTw?U_Kq?(>MZ9y3s&=p3#Ic@3!C>{` zsi3fCc%bKeR(fRC3J;)rA&HORj>2wz*i&D;AiH2DKRq#=&cv(o8k!OD&3Ch_uC)EFNwt)w)Oc=C@XM<^~-r<#S5O&;9h`O z*;EkAr($p_Y;qNS1#30S2Am2l>6d!7O_Fnw_l&y=S1zPr+Pn_nhlGicf7@K*94a!-GlejAVnM@7r3LdR=v=>(Bn_o%`Z_;^V_v5<}zc^<^VJVCy zYKLOPrkLI;-AjLZv7l%!{#Qv<5*yCwKRK$K3ZLA)z^h{vvWNKpmrYg0lb@$|!HUzY zIH@JD7+i|+PBkcZa#%E>-S3~MQwNiF_56*oyHA=2$?imn?vX{g@FVC;`OXhi9STbb zGAx|DmU!CbzExkw;=`_w8*)F`?uoq6NaFw#4sZ3#%xjGoD*nr7mb43={iX(EHnF|S zI5duDSdC$O*gViIhAAF_r5SEZfo!3>QsY2A3kn~PV9{411G2x{xjr6E@QDW!hV>D5 z8euXhnlcowGzJY77;f<(r9>ezv~B)hc;QrhWk5>5t?jjF+O#q-7PQ5nf^zj2<;Yw8 zmU+dza;C}^-!=w20&X3`%ijgJzQIt5}9t} z(tDpA-j^(WUIgD`iKoozF7ifS|9wKgwn2=n81PIz%|-PI%SwhOL`j%g_@jeK>@$T} zAD<|X_{h}NwOo+Oy)@#i{5*m`0d!E@C^z|j+8?flDW*T9)+f;1XL_lLyHPoer<8vM zg;vbproOa0SdVE{TXb}`Z#(stszw177_%_qbIP-ZZ&wNbXCwfAd4W2m1rHQSNsQk*6zG22uh&wL7~S)C@PUk+J*Rd@?)9?HvdGfy2$sFQp9LVv-5gd zs!y3BEX4i(gaMujvq=)Bc1pvH3NgRnorigcEDqgOq-M$h_zO`c`IuQMd{X<;YldT` z!XvM*j(RG82}%XhpEZ=ipY}SGVJ)%AkJJ^wf;m7)9bFt*i}mev=tHTVYRrnS|RX0Us33J_O<#%65=B!8Sv&>)4+>@4q3HNd{5$*AtkEQhnS;vC(m`zj&`l7+^(i z@3p*MDq)fw(zBEqjsAVgOXA&q1&O?!|G#0k^{O)V<*g6~B|p0!$c;sOo(D)zpfxg= z;Tf++oAx3+6?gGl^|nY)vlwwHm?d}M4A4CRs)D>i{6%NQ>?tz%Edca(LJbNJoiDh3 zGBVrn5kIA*JIesianxm;BiL{W?EhaSK43*zdM()ZF6t^;9Ny@`$HT)W0rtc13IOi$ zb1TIX`H$r$4(ClS2GvQ{V=lWE(tRNRCmrzu6b$>07{~NJVs|z2$GWc)pYPQ6$X8jk zC0Urwa8Y1?Q`NtT2mVYXHFf<*>{9g|GW%aGeTu;MAR9^+(t@I1KD1OCR9v-j)q~LT z?{zTRiP4@Ql%LqKvPs)j9H04~O>^b-+JBA-R+G61eEVVOpQ?qXk2?^k_hiuw!b*m( zR^kf6*r^3pRia-v6xM&*!fxkC#hFu}LvKpOVx7iLeM{&tbAV7V)jt(G=Qs!ct}7f! z6lZU){`t#kQrm;1A*Cl=(&ctuDi8}3h1QE^I zz^OH9ZHU}ouq*24Qi`g674}_XZo#x`Vmvb#iBqq;Io4)B05fN~oRf=s=JuS%LJ_Z7 z=&N|)r{T@+=#VD;r<%t@;$7WHoxWZ&jOAWOz#uddP6on0Eo8NxMgscTx~4@%_j;vJ}S&A-!Nk+NhK>h6C>kV{BQlZ_bCO?exfFVO~-h>&gENI`7v{m z9)S6%$QFAVMox7RU5S}A|KT|)=3~iyxKAm}y13_A^5`^6K_u$g7VV3BAN8n;id?Sxp>!$OstN4}Y~2uwHO}rb5*gRqg-ZpE(4f@pRT(V&eRQOAl!gDy zDp=_-J1oGr;Dtx^Nodf7evQaCA>VIv`pWhwHiA}SfbbIZ{=RI=*h#+R)Qsz`;Tydh zOGE?inmqm4ab>;%mOd@ZL3OUjD^c{Cs;uvpv?l)iT8H9+i-ulgk@xmgEn}ZlMCH(3 zg9$LN8Afqr{uia$sa`|X({m!>nP+oRr12Ft_PTIXErlDD#~q~X9co<3?GY(yRs9RP zIPC4n*NRkabD?q5ZeaqtRisQTaSCXw;V&mMX~sf zGNSmyxx=8j)}ke`tZ~B)X!(>I^;jOh^FriipM!ZWHEv!A+I^zAGKZh8IUqiw)}Ii8 z%9{4mn}`UE0y2O8M0IumT zJo)$Yg%xqcC?3Iqg#gdhu}V1OU7HN;4?1;MgFV_r9V_*kW<e@jF6FC;uNta$#Tws<-KmA>M5q00j~PiUP?d^7|j3|BbQ1BdYEcx6m!H1K;%4OMam zrdSVhNRtD*!wUAgJ7mU;lF8~oQHkMrDtnrks*j+f++KSCQ(L`@q7YQS4dl(C{(=;H4bbxs3V2N<^^C=#` z#dbs#aN{m}+-d^pGuu$+yzImBK&Tb&I_agn=Q9D*^nbh4nYmU68HJ;S-fuqVnCb0VyS)>Ifgg8UbbCE*-D|R}^_XCQYs7Z+BCD zY*wroUjQ9~9}h-hvqAQ!ATJ+HU1G9VXtL|fGZO#gd#m-mxP^1Vq4wZdPz>n#Mnf`6 z%2t2jy(y<`X;$q~-D5#zC0U}F(}*xL&Z~I5WZr*+>WUNvx+;h$G%|nniU&@^`ZOHN z=!aw(|21G9-Y*>Q^Q#oz`RAge+@g9}AeCnX==5eYANPs=eFM_tMmbCydTvzgJHO`U zIPyS>Lz800&)TI+B=z>X+$`7wA~zp!IRyRgannnKe1#*gnW^{DNKe z+<%P@E$C-+V}YraA08@xF<#{l4*;J8kB{8%7Ew6nScu(Lg{%m>jv(zZ1qGsAeE6zBgX|Qh=PO%TMN=A zv3j~n$dWtxvZG%eNa`YinP$-HPV%Ms%Vn(En>;7B1L_a-6o_D*_a<(#>+;^jI;655 z0a>Edjuq4bY+Ri&Qxw(pNIG9Hbr9u*w=o`Z?}8S>q%pcjz8-XI!w6&I^mDY(dSLWB z#enHtQ4W<3z&;D``~_Vi-U#DVx^>(9)A*3%t_Tkz6BHJ`KPWErT_E!=L;+;)aIF8T8mU$QKmzU?r`YPagQSL2Mf0FGS=yzpp0W92_ zls;;9qfdxj(@ygT}s#`F}s3C9fIMu7cbDD6Ibn}(YD zt*==r9GO3ddIS^L(P16nx%mY=Wq(2 z86UNMDMVpKd+yNwi+4?^t9jy53q{(=w$d`0)}1OOUEM03z4yYwin$E1Ub48rz9H7o z85Qc%H@=$xc;8QlOnUjO#Az!U8}jNcZLL+8O}$O*5WNWG3@IJypQD{d+DGiE`B3zp zP(f#T!u|P~@RH;xBGz1W*!LZfUBrHp(Xek++PP54{>d59VexkqF@IH$`hn~Ey3fj= zI-jH6f(+@k*@pELSS6qixeI->PIfY!e|vi?N^^aV3tmp<6lLDna|Z7V>@$~TFCo%~ zapp>+BbtdPKylMycw^u`jSCU4$2+$o5Mz-3qxpr{Y`4UEu0n7_3;bNzW6X9D92-7y zF=M)JD(HQU2ZiuJ9=kzMS&n;dmazu@y@ZCpf06Wn9yon+E9uc_%smY;tR`)OhsuNb4;>peQ9 zY^W3sZD;4k`BV3~ao}bkA%PV0O=s{%`~FG88e8CL)8dAGUa&{-`faalnPKoNs-BzM z)jy8bJ)$jG^Vtqul-1l=aB+Owyrjo~*Elu~4Rm1zthWmT9npH)fbkE*#TjmD+W9Q; zRK!^NMh#(o1%?Q>6eVpkvvYQGDMDjomjAgzJnfYQ{N)lX+f*Ro0e=aOeOZ$fJ8I8U);X`fF zT~>J9GNPFEp3PH|HZDqaC$}mXr)a&XOrtrN$xX)c_j6L?$4V%((9#OEq+eTlMo%_D zUJDK&qye4-jDG{}@roF+5?;awAm$~D&g_Ll1H z4Pg2R>RUAcu&w4!pZo1ryQx~bXBC2Omsf6Q`)}(J)iN+;1t~&|Wq`EB#BIe#U&qP@ zZlsv?uTD`%i?twbG|=kiKkzfYZWM#SUfZ$JeyNVJG670^@GCj7O4i#0k)4PWy8is7SqMpc2VEE65efPayn z9IIr`yl)m7KMu^`4_W>*#RN~N7o{_4y0sa~mnn)mY?y z`Lv)qg?%mlh7j!D?3nyy2z*c}2bubv>2Jx?s@okBtDq#I9_D+8v}M>@Ilu^u z3AqBNbrS@YA|)B$=;%T5g4U~G@^7^+(!%w=HSl}5{fHARb!*Ggc!p$->-_p81>O%1 z)_sMfMBS70hz9k;8>5MN!uCQYiYzm(xF$45FHpaXljxzjr@LRNd>h!GRNe4douzFK zQ|uUR$1kvQK?}$>FSd|Myb0VKGA?cvB zCajt++0O`@_H?=8sAvH$2yfa^4$mm?!9ByyB6$Yd*|sXZfeQH5?BHFrKL{YSx6g!h zyIB4St0mn}oJEv+j%axL1K>X9vk4Hoyc)TTxIgVAsMECzdJfg-dsD#KgSJ;j$J8~! z?BC#dmWzclx;w|)qbDi3B{WBbX~ zx`;jWY4YD@-S}*iuaSj{_bn#)yqbG7c(88p%ii_d6BuiZqAO1sSjIAQ76_2;CaUkI zT$Tqc(D00DZ16}Wi@WKDpuP${9JEEx%O-pt0BEelQl9Hv?Zz7XX66`oO%*>H!8*nK zhC}CzKz{rAu#3J8?%gM=Q1*4)b;VZF9%%V0n^S+9;wn<> z@{3=vVYuA2kyYUd+4`XRw}}?6$od3LIbk@Pw{A`46T6yos`~kZ`ro>GJeL(>2TGo3 z9z;kqD@oM68I^_}O5Sg;nUO&$s{}D5QKpse;KMz9Wf_YftOgc&Skt_5Jsb(f1?ZHm z=~E2c$bk;`t29?U-UtyX);VQSRpEG2Bz7G|CC&N|az-qrDTSF9^~^l^Y_eUP$l%op zc{A4IH#}&43U5!S8wq`%n167))-#@7ot|U^31pBePFG_G*Nx+NLB57~N}*E|G54gq z)x5mtlEjK^tD0{x*1)S1aI;}iQp5MNkH#Ap9A2SUQsS0362!Mtt>(?$9Ic4zmP5BL zqEj29$MFW=Z>h+&B^NRpIclrJa5$2tR`GYH>pX9t5;}cW*M3^n_GUCm+IB)seI_D( zSGbyHF}A)O8Tvd@?XRsgNLnT`61wOgF@3u*AWeV)NabNOvu-T7}loH}}I{sPI zwA!}%!^FAS^6AGU>##G)_s|>)T}axURU9+F_sA$50P!CixARtRBh;~R%&C&cVt|A4 zb(UQzOMhKUE8bOCW$Q{kslgG%=2be$9mO~$$ht5XHh_G3(@>XF$!DF!ZEW41P+13v zKPi!$>RZR032qqikas(H|495$Uhiu?1pM~1YTq1S3j90x?>7B6PIJ4tft|!mK_gyN z#ABXclyJ}Z&0YQpOb|Ty*2(F-z9z@JeEojwx1P4{M{_Z#h10o1-E>Y+GNqt*)%xQA z-8T{cNK?NP3Nc)b4|i|%T{V7wtZP>1NYew|2FUAC4UG5u>Y$$9OAN358MQu{C0R0L z&G|xj_uV0{pX2d(|Ky{07J9JNgVEsvpPF-*^%>ReA>nOH+6788*5}Oz_9ds$l}vT9 znKM&(LxGDLgQ`Ba*8A8ZL+#axk{Wt5bulG@i>^bYu_qgS$uD5 z8FMCz`rpmUocHl57Bi(qynapHbe>0Y=jqmAt^UvE(x2l~Vm7$q&}^p$W`UKWaeZS& zjXYf&&)XY*oVpm2ZU^9bb>()u=&nJTzVf8i+huV>*I*R~Qz#Pm(KElGyL~)h%{aR% z;$79E+~a!)d=*E&f$8bEev|& zYlaQJEfv;ponfg9w_)^mb%&F>x2t4?`TBdS>As*3uWxE)(Ry)m-9mE_a?wsLHEIlE zK8Y;H538Ogv445jgNq@MUUJ){joTcUSyg+sf%uK5un+c6_@KV%wgJkNSo`o}(YiK{ z*(?ih!^Nx9)awt&Q;*YalOf?(XV_8GBIeqE&0W|vRTGV3Z^UsoNh3U-Z+x0pz@0Gk z_HBF!W?H_$KeE8}35;5Aw6#CVlg)*lzx5iuLfxQPofkWzNIjBy~?O=HmmyJQpwpuc$?+i z9pG0mZEgMaPS#-!%ADBPE!l$PCQ=}kFHXF5H5y{Bn0b?b>U(>!`D3=5XBf6G4p%YR z$@w#SveZx=(+6YnpNq)8ACUZ$_N_qND9u;giF8slxjPbBVOTBmC&s2`SREr5qNI>5 z?Uuw4B|>j55+Zw@qcuF%%P49Mf?baKV$jgLmEYr3b--N=Ruz+2pJdR$T~(b&WAKgd zc|?yyEDj*@&7`%)P6|cVE7QQ1b%T?-Di7xJfCX7c-Ou*YYl0{x(e#GKW2uxazh(Rc57~hpO^s*(_fuH#=rI{q}KtU@gDo3k(6Au;wXKjr< zzCGB?nauuAeOX60V+Gcp(88VT|HbsN?CJD)Y11)Ao!n_t@=7TX5>;|L%U&~_HmdbB zD>7{Kj&V10Ar19Av=H(mOvCO(!ad;~r36wy>*hw_GPbZ*;HqME+lu5<``YPiPrKzZ z^LFa*`Cf32cK~({9C^E+1a>6>9uS}IH9b#G(asUOuGbK?hYT54Y5MkmPi5~YS|v-W zXkeZ109HF@mogjGP zKKOf?irD_V*uDIleQ8w!D|5Nbl3utvn4bx~8*{w}akC8U-_ZGSQRnHN*VARS9KULc zm&Qs|a2+W7Oy=0YBuI}&b*4t;)Se_~NTEHPSbIkyIV>9ZbRvGx!NJ7P9Ur#aMfmlU zu=`hUHTatKiQ)Rvcu&2FK+AD^0!k!7Y<=~uFu1_B!T18dfwX62By#J=#tKq zC$E@)v?lf2?o+%5gWozI-}r1ca4&;9&(Os}@>u7#twU_7y^faxF+dDw_eWsyn1T5|XgNY0;JC&-}QvZ3# zs+nS~2R$Sp#meZ6iMw6kZIkqUDJqx)wg*FnwG=DyGREjU9g4^Xkq;RRYe z8I=lJ6GIbkXBt}8CZ|p9)^A*HpQ1Jg+nx@6p3Tl1sVBrX^8!BM)~QG#CO*9rAIoSK zcbfM46Ti}$VES;7d9plu-lL#B=~k>B%I{ysIX*c|m`l)p)LXNfP%6urhQ-gfYqCp{ zf;#0zg%*H%+Sm!Q@|6fqG`%`$;ovVE=n9Y5AgM z)W7_Vd7{zQ@|FmmRyw$sKTRMFE$iL^F`ZY*;HG*tzYp=hG*?)CVD6g@Wtkv{Zoliz zs^akDW@`y-f)%8o#eOgnSFbhmCp84dY>eV44<)$|Aqa^j-bTdX!b5iXeJr`D@Aa_W z4fjfBepfn#n=!E#AQ=2w|E=^*>RyK8bLOiIVYK{;`OG#F5F3A~aeyz$P5=|fm%NZx z*v5~=x5dBchK+?^TrL7Zn1XXb{&6?@L!jS-sPR%}(+!-w z37otU^UNDfp2jrZ+)*tM^B~sKGqhFgH}JW=UbT14i7Cs}^;wXO=RjsYHbpyQMgN^sMxYjx(bJBkVWWCtOq#rYf3Fp5*cy!QRuiy~ z;RBh!xE=21RBUoa8$*|>MY_Uj_s=@9DHP3xQzURH9bEhSZdG36 z<1qax)*WmzK(+FupoG$AR={`F%o?&Ti)|6H`$|-<*nugx#Lwfgu4sQb2JHV0>SBns zTC*w{3vu1>Ow9_r;UtK|)wn&0y zWR|Lne-HWDI=122sXs6;JfxQM~k{Lkahq9gSVqJg)1L8-b@_ zxJJ(P{$ou3rIG9dhCxb|n)KnDp6e+k2ZW&x?8{-EtNKzJtOPyr9a5UfSZoP}I<50q z_MZLM7xYtRVPmx)6{K8wO+maG+2V=Pc1+BOs<#?$oe4?>F!`stkUkq?4hmbHTa9~~ zMNRyw9@GU@^hU6O-ah2=0n-7G<0ivG6X2I|KREqj3`Okn`+LV&f5=jtfQSJH_g+f9 za<(ve*sqsyCLL^aO9tWlD?~8kfFK|n-KtA}>hyO7P?7_>`(or9LIS9O>54-5;RB)+ zQJpDDysud(dU?kx!!juI)jg;AdqYDT_4t=kJ2HR~WRzbq0WNP}u-4ojM1R1G3#6N5E{C?^95f zRb{=3_~7$+gX)QX5?6hbM0)f6g{_|cRdFXGVT=C89npLSH?5xkLcftYMo96dzx2b8 zJ{vP#!wOUAGTkw2MJ*5tH4OGEqaCwLpbYEvt66{O6Lp%_T@i8(p3w95S^1^uEtTUj zWL_NM9q4Mg>5rzz>wR;(7Fc~BVRqNL7x&NL2%43P_3Rn|AyYHasd#7dvG6$pbRx8s zH;%I+OS+4{BTajM(*<OySef7H@4|Z!t8pY}X%6*uEJHromqc!#`uxE1-H~DbLo6QY-t9 z^q4F?!hnT($BNqWk6`$D5hnsxEu}31elo7XC%ovWkHvawH1$;H{_^$v6Z}!{qTgmu zui+g|kbM4$U=E>U+h|9+{B`iXHr`Fjppn+cdq4g_M_ot%P_!MEty`9BVB$qWgim%kC0@IB&mBfg#Uc4xt#LzDF0?S4fb;0p1Gr| z*tO?v%9!fuQ4IGG!BJFm`Ke{c=GMJ%ODJV!DIS4F>Gka%gu$+IGH_2%%x3o+<>rv| z@zG&V+6mMJV);eR{-3WH)U+d1JKvn;?=ESB8HnK|6w>$DU0^*&lVPym^OkY(%Y$Og z!{@DZL|VUuReWT=0zj_MV{*(_WJGqE)wpwInLQk zixTH~u3e_{C~wYZwTkY%0hqjh+0JB+4%vU*eE%Jx$4V>i@>SnWtdGB)5+C8}+QBzo zTy)B`-b(#hIW&fky{dzCqlh!!ps)t@TV0Ex-1v83<>qyM#a@RUfa=7gwB+w4ia}2? z2w8Y|wONtMB_-(tm~qq@t&RE)<-6uLoCVmGq(|(rzS9*%Yj|$ACS;kK5R!65HxtGp zVoUC|YvM-UJXB=5Kx0g~Q|8E|f1PMg>5%#7fyGSdu!%YhEn@k3JB~zug`~FQu2gw? zCF#un50&{wc-&0W7W*c#563)Jcnvz9wiO(|n9-FRRbt<6L1r=!Dh9B{5n+es-=mq4 zm=hz5SWPzHWDSWv?BsLFNK2grZbkjeItUdHRm_pn28$p?J@eL9Y!-+}&qN=Q6cwUKUlb$)!4cYDjV-@>V}((J0}wjw`IpdZmw zyis}FeCqZb_!n-!guYAQAE|@W2Pu;cvc*W6{h2Cm=XtAfa~Wy4Is#y0k{nYHM+8Kr zKKk~=pvxtogNiU@V(4-xogDzWd-+H1_w;O7kk+|G7R3*SDNDz^ZV#02EGI+--+>Mh zh2*Saf2Y{-xBe49+((F!FD93W^oprz-VUtncrBX!u%MT34t*D87>4#~Tbt0K zmRvLnHz7-?ha@MTvxhlmSSRK@m@Pg|^K53qVVeF~umEf{yPsL*ROg!GQw}}p8a{1f z&RlLv;%p8%54_?*c__;G%~4n+2>( zuZ5i?GckXCjlZ=s)@B{(UY~vbUyb8=b6(e}-&3z?($+!`@oic+7fKtkL1Lp;T7$`g z$0#N4%KG%r#=K3S%7N^6PXIE7>3bp4C>pOVnhcGkX0C%-?TgC98AK1{WgQPXJ)PGU zt-@&CnpA&n3>^L&PO0jf<~HL#Z>!}V^kg?G2o%W|Fm9*X!Qbn%VOgs{ig+;3yAyRf zJ*;cshP^h+{SXO3V7~;-)ue`S`=BU{H5YRAB`9LYb6utk@bE304?XoNZTJU#0iArqixfV?bozU4D~uWPeSG@z0YNb26-UDn*%o*!iu`m*BS@8J9TNCcC&<~! zO8NSp%iY#6Jv~!bv{K2qW6!Yz`GRLA`fmY08N`njTAp@Y!Ekt2o0jm;AE8H>HDrNc zs}MTgklx(olqjGpv=$k??gE#v;V7nuwy-dR6Yk&iCe36el8+{rMKVii#^V3D{Dc-{ zQsBD~SMqn3%2~pWz|}w%o1|Z#YPYzf@Xc`lb}yKS+Im=z<26S*qQ}*6$Y=xvEtcHM z6qX&=F(|ty1PYT zNI^hSX&5>sr8}h?$%%LT{h#+c*R{`Z)?RC!9rqn8wie@Mg>%FD%wC*h*#0fqF*(eN zc2D-MpY#fasn>|$jsM&T9xmVlWvaHnZ%io3+porNC_WD8Zj~$P^TUAaa{Db4+x*z} zFHo6y@Gm|iHyeVnp$<~wJx%d_^af7;G1BMm){M_|_~d4`a?FHN;~xVqQ%{9M@7SLN z$u-Pbz;SGi!Y8>*i8w=8-Y5&QYJZHq&(U~w1AEl-1V_3a+DhuTw6GeXlZ%vo#Y4Rg zAiYvl^-rBsqlVTBI9Om5GxT&ffe*?K0ljy&C5(6%OGLx9LBCSy)`i2#ts=|Op+IMd z@hN)DsU?4nR+H~st4`lNy=yk@c%pDTJsZ#-=Q#Q5uYpgjyGzZ(d4meV z$j0>4uAn8DkK*1c?$-tRQ)r~>qoZD-3o2Q)bB3qIUckr1j$AZy;BtG_RV6VR`JH;t zw%+PghXb?0f&mm*2VL0rVTOPF!Hd3I)^R zFBKpmVEuJRF2j4jI`CyFjedWfLp0~JYL4!wqUUI2=$daY<~++*v}U&|pOs?6UWY>a{ZMYizP`C2WrHXHFE;(6Uy+p)R_AU8 znp~*|g`1O`exV>`eZ=LsFm=Nv5~|ei{_;|xPV)yjPCR1$^)7(eLN%NnznZlP`zjq= z5LhB)m3kznHQ!xc80G@8&0@pS^s;tB6)oB`i(+wPrhUW}+$X?}Jt0=XlKe~fN1kHq z`nPeoqSCP9hs;RNVV1dCgUk|jmdU{Paz+221#oqtr5<7I(xDJAJS-Ws{#p$!GntY* zaz|6Hwy%>)yR*fz?cgpp74U=StUN%X z?jukHY^ml1D(*raSA^fmN4LDUetpa6H@13sd)8;OH5cdebl`f{jTLq9G0Yc3X%!P+ z1kF>=yI(9`@#NQ7@6AYpFmHMzx|0*}yE$XZ7FWn9{sFbD~ zt4;ab7_)Xe>v2G7N1)3b%e_z94-g>D-=}-1t)#(K(5f93iuJ3-M(s|yQsmA3V0SkK zAJw2XQS6`NvB0%ekVS~WIKK*g#1GLUq~t;odgiz~TaYA8m^{S{Fq0qPKyZDec2+UiKTL!E!m z&mr@;XFFKV8(cAX#tlkQ{Z#tVPD)3k-@Kp99t^71+8?>wce24N1@B_a3!l7K8ZSwB z`3`?jeSq7D^0xJdAZ8JbJLR2JV-=G>KmS39+ITGsw5;l0u%~v{7vXILv$>EA|7EDE zqv^@GRTy*jUl+-G_oGq`-3F$NE{p{g{R(Ii4_2Uu$Ux|pl^_aQH@MRB6}13i6)@zM z_h~9^qkm=yQFp%jSNfQK_bYluj9gMeiZKai`1wU4{gx6>tpMlnFxDv`o~-o4o4e|s z6{QAr87-qvlgC3e{;;o_qUTZ!al8sfl-k3Md|N}PKY#Ctx#CG1^J#V9K4Lea!blP% zp$Dnr`>~#3h%+)4VSie~s`RM9NH?a-^G%Q-?0sx9VWC;f2+Mu-(y{NuHJvXDi?o`r z2@AzC`0faImtW6f7n{jwJ>F^Hh9~?XjAHAza?(`}hj@Qu$Svb7htU_S>^C&nb z9mU1bCYN^lv4I!uFkA^nI_}`JQu&kpJISyS#@R3-jLDu`Ny)!bJ}DzUh9g1g#T)B> z098~QmVlNDnQl`U(1rWlKMy z?#rcG#=!Lt%hS@^))V*QMRTi*3S;h}!dR%7PuMe>&tF$;Q=aD+vC&sEr&%$URl1!A z_xgMMhVGwyZ2r{7HGw$0kNeex89;=ZW8+!&A>Rd5+&K@>q*t8)DS9xV#OV#{k*x zAqH>DTVTvx54X0We?N!A?{3Ra{GL2hyVV%w4SN|L0oZG=4dN74A%22iixg%F>8ZK# zYCmo=n0}Kxm}GR~941VN-%Dw!vZ1)3bmgA|ezE7mG-*#}uud`C=}>&O5u?B6;X|{2 zijWlHf$r9x;a$YiI`nC;>pA&}`aZIKzM~geW+f<;LXFS{IS<(fiNjb!QpIK>drxYi zvQoIwzp>xTEGV2v)sI!YmAFi=s%PfClI6%3wAE+x=TnF)s{ol;fZ|U!upVRT{5R#` z^)<_R9(0BuE$?1@i196OZH~^XhHV>jtSB$uUocktRaSj#k^mb!HuK+S%xycq00u97 zyZzcKd@_mu%zlRa&s@tIrN4m7%UfbJz6b;5OO}FR5uL29SG{k{7}EAiDV=bytS(7Z zPdU6cLFmLYB_FZ;0oLJn1Tld&7E}8~UqYHvt~QsG%Hd$hnRLg;4jz#-NtAQv4V$sh z1dX10CZf&ZTYaf&oM{V=Nq++ze2yO^bXb?`(i5O~fvfG^9ne_i>ezk9lyW1aYW=n)7`(MXQO0?+klXZkoM*E{Zn-9naSh z#}&k2Jh|o2EoGu?8G=G>UPu4sK@qk3uMM~cO+t2ri{lTeYwGf42S$sZZo2ksn(r7c zUzKHmKXu_b{qksKs9#w^E}()rppn{PA%p!Txrj8loCFiq!{D#NZ=k}VhB+Hx$fg{@ zl*9?c69^OS`>S^oAG=3?YfQD++NT6s-($9*+ImpCu?Arde}sE2U+(cwgO?EqZp7mc z!bnK@&v)ndm0%Zjcv;^fa1r6BcYb+>R`PdC-gX&t=xhk1BV5yk-$E|__9wAw*L`aw zFIMMj9L+Oa4c-NdIKxhcSHbjHYsPw?dIG=uf#M3SS2Y!75!ca~GkNtsMk1l-Qs$O0 zewe~jM1xfB_&zUC>yP>f!t35-S&c1~mOJS$at9b++N|!37|_-ntRfluTVE?WOENbT z-PI%4pk=qZ@ATF0IxeczNwe#(-o}2u$pH*v6Ma`Z{NMm;dbKXwHAh!5yS609%_}oC zrQS=UrD<~{Vw|&dCqrTCSbJ!0h0={l^+KHKQtblW^GXeEQUTZy+2kq3siP~Jj;|dHtuAm{6$ru;NSqgIvDR*IoDF;$0af+ugF5lh;o`b~P}$r&gMLuT0m)^1kv}cXR_H?FQ(Lw#U7M z;6xM!YC+5H;93v+977F@p|$1T*V^iN0*TK5NYv{7JbEzhg?IFl3cov{ryVE^(9B^4!4CDPmW{PhL#2v z?OPeo0oUZ(&i7t`vFhHM@yQn^NeeO!xeECfu;4WV=4IQQF5CbB&3(=FB;u-tA(@|( zUId-E?*1E_B+b+ErSh$sy!E`{Pc{LeY5p&HQcsOL9= zY%}0ge$w80idcq@AZK)+2TxM#6{++n8QOI!)|ya+VpMS=(>iw?8x&Vs$ba_jRkP(S zD7Z}b*DRZJ_ZPA>2)6l+{US*iIzgJsT1l)8hQ*hIyD$D{Mbbj?gx?wn%=*s>Cp$Vg zBHZ`t**7KPD-yk52kDL1m5dT#aGPQ-<)(;j(*`JDNzecruJj}v*62>?Y@xUeq#wb) zP0KKR*TFoPy&E<5$xZOY(AnqOpZGQ6DlfG@T?TLQ><1653q5(><_n(>PPkWHB=_Q+ z=-gQb7G0aS@7`XYO2xq1Vf!P^TNxCN^;V@WKC8G%*^*ybGomVA`;+M`chYv9qlpBMKakRY{+j^ zQSDSlsdmL&r&=V%ob?nSSKO$l5#{u+hw~b~7+)?-E^-KLN;{_zugu|hCB18!_2WEM z)nEy7Ro~wiaRsr^2cF-iLNI`rApBtf5I-XVoe8FDS!VKQA?a`JqrnLx9rz_T%Uxi1 zqYGyKbYvg1c)kJ3`?=}qoaE=>hTOz4V@iB?x_R?!hyxVz1Q$MO2Nl?gn(d_Uuldz> zo=*iAIudoK?}xOXH2L37Th>R^^JsptroMUvH;#672poY}!XjYA4ouikUA+Uv{9nrQ z9Sh#)JGbvn1RkG=!8K6gtwxoxi`mS_M6)2hjgd=X#{ln(!ThSF!6W`J`H~3OTGd7sCa`wqQf6*X*<0~8NwIAkk(D$&hDZia6 zTuF3}Vet{#H!(lRg4KnKbB}##t=v3N9;jz#e#O&1&7PkPdfc*}5NmXqrSKc_@8b^) z)Ff?@BiN56PTmJ?AC=!B#?OrIS%g>|QBEG>2)I#5>XN@zPON}^#l?J6mh!;?RX;5~ zUxtX@L(ctwxrFSBZ+IoJIpaxhuXZU}q+!xD|A29{rNw0eRT#Tlpri$DvOYC*UeL@7fG$vkxAUDd_gsBO=#uNfUDrQv=f`RqYd3;`U1CBjA=m2}KUM7D300@bS*0vEz9p5R^(tPxuk_V;$qUfvFcPxQ@p!k0K2ROT8`j5$|67Xp`tvcK9#| z4Hbz(Nw{GRyYYlF2lgfwCY;`Vay)BPt=qZQuMdKn*0f^d`ZY^0f|-=QzF! zqB8)(WQf)pU7lS=zrl)XrhsNlwjy^3`)6b~*R&fa8DMll&$genn{VA!2kY`nuSKk_ z(~ebJ>!xH`{w~jZ&TAnhTg}vR(#>6grSMC zPCwVecIR$~&tqF8);cv*pDmJIa_z=ez>RHMizF!MZ+zy@M1I-*)!iXiWp(ntv#7GS zqTLKr4z4IKt(tMD@7r%%^*Gs#zH`4sDKdA8y1KF4sj7Je^Si2}>!P_uTgS%G&^kZ! z_N=ofSeGC-oud!ipFnWrY`F6IEo%cS(as5oHt9NG^C({eF5e9^ZW^aN3U`0j00b;! zSCdQB&nJItkS@KmXsQZ%Idl05-)FGqXYhQ)oh&1%LQ3rNRQvg2aCq< zALf6Iub8S8I%!F>yRPWL$%4+E;t(t9@V66-zqyZSOZQ7Nzg>0E%pxkr10{Cn8UZa>N&2*o4uE1MDou+_*byIGzNKO(4cko7|QHj!hu6U+J9LByl<{!S^AS{@);`%Mp_^f48ocpl}a=h8sGwOHbw4A6oBzHj!<>`KoGSGz858 z4>K5@2zJqejJ#4cf^&8JPDb9;DF^Gl^7zq3`l(N*!J}X4*!d%|NpI6jGa6%q-h~LU zvjf990le3r(O2JB*>!t(l@eRnKmyks99^oLM#wL_UXK2G0??3c);gX3nENg@^>q3; zafw2pA?ozORgq^iIlWIIuZ9i{kz_wNflMrC^D)b#0VQ{`8xUl2^Mn{~q(MWN zlG9Q$=vK%?ry+>b%jF-_&lydXqX-!=PNmuV!-w{;+QQ85&ObE0=dYLwi611Lf9aee z!?FixK^<}LSCman=(SlW`qJ)<67C)EdeiOnPJbxCcNj~oI(V&M zQz^5pqovQy@gD>Mf$TrN8?wSa=o#X7E~EclbJ$UwTM=?1GSoAUp_Gx9+2c{{{O;)d z((YrjZ&($r;ykiw)D@WoSL+jq-x?qff9 zK`pYe=y0g3I^uUAspm^_yZ}q>I@1hU$;D4g=4|pG+E0_%&IIVnG}z_st*sc>Sqb&y z=p&qH*GkkUx|w))#mLDW;$FeQoA~Uqp7;F#_h4hcdRS;}uRmSN158EvUwO z_U@CZDdKSYX`H?}Y<^|xG`Q#>JEyB7XD(2_&)Nx&=%FPj^)z^oitR*lZs@mf#>h$6 zT}`L&;2fb^jl~d;iQO*jGg@%ockm6&tm!dT*kA!&pJE| zeg5La@Uu-n-&3lpuwDy|>6l|}N%+>cFO*43Q0Vw}OIk(~zmboWwYy`xpha*D*?kp} zZsE6wj*6s1FaQ>*_vdoW&buke(L~;Ik+T4NSc-9q||wbN#HASt1~R4pPt@u^no|( z#ZL`JDOL5%(MrE=I&bqzqQ7QBWIvwuaXe4l`O1#y`idT*dB&DNuUS``@%IirY!oZf zj*es!w}15UIYELfzK+M#O+hr7Vdf66*fjg`C>noSK6`Zs?RlqR(oeG`vo}&Xhhfh< zv_pCXyTJmPNw!0ohtLA#{e|i%^btaKwTn+lt=x()g*opNnWQLxvI-dNn^B3B+W(l@ zi37tbXvGJUR|CU4-67vb`K6iU1)+|B;Q5-6UH__XrluIL9b7M(6AG}!F0ojCR#8YZ zq5?fx$N5^J=Q;lf_Sub56sjwB>^En|{g-6^jC5lFyjXnRm@h%)NiWlg3l^fTjr{1AcaGJ-RPVc`bU-K@O-b0Rdj z9(Ly<@1j6nxpDO>o%^8bg&Mcei(Zb?>QHfhs8lt>#vVFs)_wJ3$q$Rn?*qrtd)>;C za?)j6yu0?>+UyQ}?ZnD~BSE5-j4D8^P9j8p`O9ohmlEr{`?TQcC<;~{ zK$6E2$_hbfZB`@#E!=Svn zML@x$Bn}^7(mOfPDoItgDp%o_FZzMEr>#YT?O$>9rMc2xwGX(*2a2bbOATef#B&S0 z_;LLu7>LenV%;niSVow+C6UpKYYWBqoXRMd;bS~!@ZZv?!Iax>ZzOxBo6UdvimHeB z3d5FsAmZX1PFR)7<^yr}&@P!x{}ho4jpnroDw+wu+aCTMeG9h(e&50gZ5(+}IcQp& z+-V@)=40n7_*NiJ(d^^NM-ybH%V%-6K)r)TUa80+(FT2Ug8nn?MH=|P_DPE|LPp8z z{ZmZHMameWLhA0ShwrfkvPkk6aN@b8!WG1YprI?H?8HA06R|`)N&M8l^n&%+**GwT z&)~NMByf{U?ThY{gpHjTtu?pMLTZJ6Ks|v)V znt9O|77zVgQ1mC%b{7bKPL8kx8K~^J$6uME?Q^Lc`K`UVeIEJ{xVhh=hI6`~TO7{v z#CpGrTcECRFDKq>eycAFvR4M@`wkcQ&~)vOY2;Iw6@}}kLZl@hP8|$mI0*c%c>H#i zou-4voJn>F{{*E-S{UX)&<0%)9X~shBz>JgSdHQ(1A)K3z z?sC@`>yiB1mieoT+flz^fBh_c|uhVZWzFjvOumq3&9y{?@6S|sm zq&wPDct{LVOu+qpnDR#<}&UPpOfP${^9xqsvg5fL|kZ% z3_gN2y4v+?8|KRr!p@^<{cW>B9_q#eAhdYrP*E5``9xj^fVjCTH2bwRd zM;O`uc&GuwF;9f}IP70t3GX@buQ>>BiiMvu_3Li3@UVm&;0P?T$*P1sxG8K+QD@x< zC%^%|-fPxORcwlgRV;{eJtzDV@UAVcjmW*i z4kbb~*br-M+QNRm*6T~Bsqj~~7WmGP!S;>NOob*w{XQ~%0m2Ed+(Q3SfX8uf)gk(e zs29+pgh5(pckA5fkqZ2p z<&Q;Jjk~JDfPeZnl5r+l$8NxBEt^S4ZR3sAfA!^)_dbsJbbx7LddZ{YRQA`ujQ~H^{{JZWp zg5nW4Vj6yK{NfVOWu*fmS6`~h>Zap2iv-l2tQ!Iu*Aw%l$-? zI>_@nieFhKkxIv~jP(;Cx5#y={JV~UOc}hdrY3NYt-$5spJ7nt8NBlRWrWfr7!SP-<@D1HB$Ae3 z%lr5cG5)Y&1V8@p+75<9O~EpFT`E8iY{29UrV4oz#FaBwU6={c8Uv$_!F?2|s+Zd^ z<>}XvFaXUEQRcbAugMQ`42ibZN7pBAMDmSz)u|>rYDD%QY2lAqiP47e{~Z>0ZOD9p4uri4hFABAM*Dwu-mF z@PmZW(=7zsy+!ag@Da~9yX@&s@lnV~z7y60z6rKHSZ>BVGH|r`8eqtB)k) zqblM3P0x$;PAf@Td`^y(##|h51~EhzN$wZ{T+FKBcTH(Mk8ifE`zO*g45bU+CIIp*vxIAIdi| z9x_lg^o4$l7w=Mnw)4n_rJxx-)hLJnx$Xd+#-TUZPL4gM?QM)3InMnVK_YBSje^P_ zyW?Wx-fzeCIScerwYzJCV zixJ+KD@qC3&^7-TO8{ra#}5t&XI2DyZmY9lgA(k;k>@v#Lm>C7h0`xnB@O8XIUjaq zsN8=gM!2FL7pmhwnm!UARx_7k!OjhJ3Evy-M}-L=vsPe$kBEmZ{s8xCus81Zgw#Ul zw4tF+1aAD5yl zJ?qyC6vtjE#W<@>;jyu+lLwl~4zWN}?YFPB;}<^RR)q3vHy)8FTDGunHrLp9i@IZ9 zd?JJjiNhj^i%3H=LrtNr*gNRzICuauhC}_d+!%&I)9;q*b5#wzILuli(GNVYkrzD) zLR{)*1KLKvTRThn_%TK$%Tl%V>($a*qj%yYq*(oKas-XgY}G512gO-zBc`$;^fqq7 zt8IpKhO$-epKV4%ro43&rCSICaH-Va`_un4JK&wwNYsUFjpV2ZQs~ldI9wR~VK=oW zB)tUDG|#Sf4X(ZliJV=~OSQG}>trE#AUiC9_=XGL4O{jRn~Qdu6;Bq# zvgz;lhd0a*)q^Iv^oe09RIKxN!tBMCgG<+T7xA`%f@1EQ?#|q1%1vJ{o#ps}aq3Ln zUBO`7AXyHwe!|>XyX|Onjy>C#zeNhEUlyr_D0^AqjYW0v*4oYQ%ynkMneo6uA3G~i zJBIePnvma2{}Mkl1_g8$esnieup5*7y##@^wdqx3VoB*&n;w+%$RTGPNb#+_qf7fO zo1JS!_{UXqAxkU!1xkWgkTn?E5S8h&2Ovz=w~#5w7ufKP+cif(lc@A)jx6*4}U8`qm6Pc%0phk&nsb7T?NUSbLBY4g7`a0X?BfJ=zrST`)^R$k_L~0e82PX;i~CHy|Lx7U-}qfS6ZQmU zsD?uXi(z&`iC$@M_bArW;MC{yZ8DJSqzkW#!akZ87Yi1B_1;yqJwVM4h819s1{C0O zHFREa`=dH#IYvcgIiW2k#*5ZvmAVDlI@Qed4$DX7e(mL+Y@nxq(u%#ySI{!8<_2(1 ze3**EmG%=hw3DGWxJKratX_A4nRplu(?r81#E{$+qg=?Q!PMJL84S(gy+YAB_3qYnhh zqw9{+y*+I6-ppCNDr0qqwY{#YIO-$GS?NNTXW_`i&39l@U{=3pQXgfWDzE8zslhfF zQjttp8PC-wWZ1;fPj;diJ=t`6R$aGVaMi6lg*x~@es8NV-e0F}O zcvN>^#z}oEECiKK8uww2?>-W1)!@@~r!627t!ZCeUeM2^E8)c@S~1cnW4iGq?GKO) zv|~WJKT86oMv)gXx2a!4hbVBfcYmX5JOYP-Ps4h5AWr!{4MhF90+@B$)DF=DM?E&E z?^PKay`d2E+px;HPGA|iNc|0D(duV^(zXI!Zo3fG78A(u??0(_{rx7Z#3@;UWl(P5}=tQ5rU$|ORt3)X=+q(%oPTYZ6}~i5Hl|3nkC`VT~U%P}4~;%#UakfPgDpa%_Gt6)uB%tZcnpew`gI!F&U0^*dR2 z+anq*H#dT@{g{!xEnwYDbU7EyZm#2|aqi<*$Tt$uL|#P95 z3L<^p!A-A_0ucTf*@EzbO?E^dj3Yq9{3`a0GM}gO&yfk`L)Km04MlJ8cZMZIZ-yz8 z@@a~E?6&j-70-;eLQz9nozjoUhyl_Vfib}nhYZiXSCQ2H64yU4a5u88>XFX}903QY z9f6MUkcuDE_u9{hB1`g=9!39&7v=zBW;;kO^WuMqXmUN)hYfouv#U@N#EQ;udG%g+ zNBUWkl3O>d_{kvFe)U4-YjlJq*9Sd1A{u6}>^zF$gA~BCqO_nNqdEB;qfy#MuMGKh z2ucUuW`$2!)W+pcKdBsnX6gPx@yBq}i&>WdJ_O^;&!1FV3%k_diXk4Mo$L>$sR_Fv zhYzoiZUAC?sNm|5si7^3F|IEM-k5sH@jL7<_ASvpl|vYBdS`Rr;sgd&aQM(vn^N0i1J%^mIU4ktzlQ$LDH}iHis@;-H;rkyjc;i@*<$3UA^abMtx$WCs8Mo}U zPSxdcs5bUnX1P{7ZTDLCU)6D<)lrz5%fZAZq~JRp+*gdaT@sEuZ+DfE{{hG>A{`zk z6iW2&F-L{eNa>%HK+NHWdsmVTfn>|e^0WOTFeAqt&mA|Lw0A{g7*Rh92BdCpbHpM6+JTo>q;2aOCFk)Kf zLx96nh0?1F)ki95YW=?f|8wVzNey*$5+oxqXg_ z`-q0LK~s9rc0w+F+w^$4w3ewHeGR>!Y7Zv|p@0NUu~_cFE2Mqf`csA0 z3qwW)Vta!6n*So%6d6tE|EE|8kZXXPQBBou@;?B!6|Nvm_yXh3}GzOeXx7U%^Yb(hfgg;JjvzhUqumLgQ6ZKAglM%@$6riI-G->)N}Vj)Lpj ziJvF?BXqSqg{xBhaB=Tc%#`mtks%G-WgYjNfK z>8t5Zr$zX**&?BmlCItW_lLP%N1SZGoxGATtPD}!PsrD+y37`%4DSHOvVKFz(ua4E z@TbGmyx3s)S*=BsMOOUrjcNAOGBp9<@ja%wX`ov$^4 z8F0ea!b^bWrV+TD;ndx~m$NJ5)sc>%EJbS*egGdZzLo=~<+33^=*YIK0iv50D zPcY`nyq@b45WantwM!gyfjscskIKz{OO}&T3hG9hSC|R^X-M$Dr$UMKQ~XoHD}^4A z@1ryy8IT&(?1+_eIVSQg>i8Yt#zj2F`-?Kv3OZ&qzvpU*G>c6z6Sv=@7vHC^fJ9v1 z_0kCB7QcB-uls_O&G`8NJ)SUN%Rhut?cYqmp{V*d6O>7q@c#uSU3H{W%x8w!H%Q*Q z>_4NF5?ucZn1T2%s7MQ%vb?G{pango=G%B^?@Xp2y0(*8E^O*Dxl)6~pS)^|$#@%d zBUV!xyhpL8KeJlC#hwuIRI-&wKY>ja)<62cHuGk*X`B~%#Ts>a78QtwNJ-nGntHqJf{`78jR=h#a z|I;M76psrTqUY;yDI2Ihc-H=!4s{l&Kq_bcSB#Z!bGk52kX86U9fJSHbc7Eu?{zv+Ge?vy z<_Kb5!IPRioNHH$78FXHn!&`~7XpnE^;zqg5>l~z{Vp8#NQz?pi2Go8>0EL2b%+F-%#wj5g$P& zFp8K`P$}y-M^dH7oF?`qz=vfkPy_^7g_p*6L74tZ@bcs6UC?ibVpojzI3{Q8SGKeu z0?4KQ2qScYpFOnC4C=Z1D?&@_<$?9cNO5zP{OiUGDs0=)(>()j#%k8QUAfB7cCEa_ zh124~&+jdKw;`%{Z&*gacZL6I5>mSKjP-xgr8Fpi8xE8mp`Dn@&lkPfbl`T*{J0{> zyv~}12&x-M96>w-q$8w)pspbmO7W2)ZzMYc`z6?f34yQ8PAs`u2gqk64QT|JkLyh&yoE{NJz#U z*^j&%3~(UeDk1x(X1P#=;-4&rGJj;hv_-gMXdHfi?Q2C7H7-t|r|9ypI`SMzoa7@P z0O~QVZocvpvAhZeU5nUx!WX?uT z^Y_I^R5J|92)Q?!vj4Og{Ky1>oCqrLa-(m%pfUGIXPjHqod1euE{?SDlz@)y`cp-O zJC2GAHMV`_8#g8+GFXxinHN86OY=m!mlpY#|iW}0B0@PN>XLEY*f8KSCwzl(Y_k0#LyO%PddG`)6MaKFiz2j(kCKS@R9!5Sfg_#EYbRu^w`t zw)jVlJGiAsz^}=kG><^ai2jhi7f2BM9M;dMl{_nuQA!)8Pr?5Qty&w@kP!k&M~J_K zofCi=?ajiv&RkeNFB_x3gHMHJGrCc6f8`dP4-4cXG}Kl3L*D$zi^JTVnzu%=2--&;I2^^+Wh$81wh9A_H!-tB3W`H#erF`k|EUBXPOyi1~nFT&{*9+Z$KKFw>1ib8Xuf4bg)l zRn@0xHuRCG_E-I%e) zVM4pQs(&`?tyGq=o_^x+>A|w=X4l}q*d)cJ?mayhI)ZB4G_J+yBLK;#V6NI9ZMfvs z9X0bRJlxaUWhB7|qQU45O21q4vh#-p7{s{%?2D9r-qbG4LIs4jH0W=cet|GbYWAhT zHD=F5`rT~_GxgD)Ov53p7ofV0>e}YtkINF(mJbQ@8*9R)rw|1<>L*}a$WfgYV(+nM zvWh`sg!}Ew4^0iDLQC(tFG>;9%1zBMo{_!6g!b>v*V@!r_5O4kc#)w_bcmBn76>PI^u6*U<|dJCp1k&__heE|E)ZhUjnc{! zA0gr68&wQ!4Wb!Lkg7MCtKe>8htkys5MGRnF(}Z1R2+*><(|%~Zvp*mu*tX93lzfXums~YXyI#C z&*%t*yv5MClo)bl>E(iZ4V{n9Q*#jG%@xWiM~KAXy(;%md+v1*&%=h7_*9;xe9vW~ z0O(|~zQpmC!BDc+H@FNl%q$nXN{d_F-K_jWLILAj>funbA~yUprVGa-38zW%NgPpe zYX!oIT&Q3qc9iJ0l4mI(t~kNp|Kj;nUur|VqLK__s~?T;m5!^LHkTe*h?Xfb9UD@=||d6-0L!+r(SGKMto-5)~8e(k2L+Y$weK05ndap&{yu`;|o zh<9Lx?FX2V$Zrt-1@oXCqUptR+iPrZ3B5IzYSl36dAYAgP z=bFBdsDf!cy51iGabNsM^P-N-6%sIlZ6xhMLbfxJ3zQ2!&z?jb2G;|Gz&Evl0De(; zCU-`q&z=$0)jXPN`J0`YQviec+#W*^_ z{CD()_|?Oto+Z~uLz;Hskcagu6KC2@O}H_8E3|RwX=@EEg{jC(J7WMSF|ambW|KDidRH#O0>{d9Fzis(ewl;b)~-|N75;@g#6f>3!x5|OzJ#@78?(Me1j+#B3pu0Fi?f8RN0($ULM`=!%)+=q(gSSvopwMxpp z5epuzzSm^Tp+9zuj-~Q{G*pL3V(XL%b7pR!ZZ3%a_-Lt(uZfw|R|xAI$Vc>P!O3CB z1wiXDf!Lz;a5zyOHr0aHY%qI7R|QQD$(T`?M!~yBW&ovOtkH*?5{w0yKWvCwM=$l8 z135H57V&AOTKDD4KP#!@q7)~f8BqQ8%wzp|qdBF@Er=Rv=xB&9Mfh?*>09g(vd;R> zc`wCWHa8|hn#$mNpPQy!-02mkhzfoc(^_$Z&y?9!$c26x735e;QJozg3KZ}g^o>oY zXo=lKYI?Kq)tVZPC1XN58bs4ecphXTqZ+YF!a|zyCfKG!6Myk=SyC&cW3xzKq#lNu zXt+I6eow6IZtQ2OT_Fv5p3z8JvcmhB0fkY{MyVO$mV;0L-jD}!DH!W}Ll#qFDxkIk zN64+R`qCT@uCBuTZy>pFM_?uARq=gyaBMn*nb;8!L-)nAG)D6_D$*fxsHCtj5uC0- zVAjm?2cE0a%RicR2xSDJJWLT5sjirxy$tHR<>wl(AyG!0>)h57d`{2O)jQAJsdZjL zw2XXx-MN|}(8vym!i94E+&mJ%(h>``aWjDu-5s$F_i%K#TqxIGMZK0x^y|g_d%gX$ zPik3qQ*}leKSUjU-GO|3g3LEDN-XV;b&B;(7~A~TXl9U{QdDke#4mHKp3TndIPU>A zjTOPo9Gj==QXOGBi=^LbZAv8oFP9jVr-ZMI1r7sS?1;D!AB}TxrW+!`Be_c0Zg?2- z8@(+ad}7gBe*@0=&e6j5B~P_7@v{CpM)LA~Z$4Y9*4XzOZYRNPe!=*nSd)*e>>UscQ*aJg`B#g;%FC%rCw)dQSO&~D?3qR(Ki55S2UY$fJij*_ z5%+}5mw$XDpN0hAywx~i&ar!b4)H%kwt$JhFLp)UushsMHIDut0HHu$zfEcm{W%=S zgG4s7mNIj+%sWOig!_UB6y-xBILn#JBV3VRPeN4|DPG+U1K&}Nd;pDN7Kue1j3c)a zCuKRT1n$?i;!dR#;`Gb8lYw`-RcD}ITychk7_$M?!*}ZZNeCIUY51(y*+m{Y|0CRZ z6_*M7)xu|mJlGVZl}8bLcUD>Z@MwQ>Ks*#9cp{^VxcKM_zDaQD2B=Wp?uUogHWzH{Ft80^+V@! zRL(rx20oD)h1qV39_sQh;uHPDsQq2CUDl=NB=@}M zqYWJB{OtcasK@m$O%7c?VEtVkHqeW`63|C{AcUMjPp}N@_woh(@A{PM13jH*9*oan zpnJxw$@a-(_OO022A(ti6-C)tR)%FWWh zHQ~P+{`dEE*#Lf9gZ@{9&$i$(r0lmiPEdn|55*LO8-n7TVt1=b0kzwzs=rtq+NdQF_w+XmA0_{-xPe> zpIm>xef7+P?btoX0S`_LZyo!yIry(+|I~uucm4sRj4W|1@SnC)Hdq}w;LjYf%MSzn zmmvexc4QElgD0D$pM$l6`WJ^FlT2Z{=kTjDOr?VyXbCmAsDU0zh@<4Hs=*0C)~){? z4t^w46cKw->vq1x`UZOJg;fjiL}0*LI#%0rE1rOia=jqPK@m+%IbouoR3YGBbn6g}kv12+Zq4{VMd2!`J)FE(ApOCGdp=;SY=U zcc~t}@}KBuciQRO9~$P>>ff9ch!l(zm~=B0fqp^%Pzk92Gr&Vy4URycUHzdmZR)s2 zt%#v6aecz_i^A(GAon5wgT??`g+Tyh>wz93m%c>5q$0Zfm z2E6EpYzg?0{sHLt$Cs?M{$A{PK#-fDpHyuv_^-r&K7IJiX@}UyPdpHl5O6TJF#WFt zpHCK?e$N^Gz@6LvC;c}h^dJ2#^jB)Joy-5+y7I?Y8>!6188GLS{C~2~dpQFP#l!W# zYTA_kg(7~-p?leP&N*7EcIc~mX%D#n>*0;{zqcCFHnKldH$DA1Td;hs<@yG!t)s`D zT(&B_kBr>gO#cnq!WHXmeS0@>1h$)^pQQbR_HT3azgqs2b7WnTf9K@p`hS*uVgphz zDO_Y6i->VzAlyJ1IS#gv!a))nn+2GU1-y^~>Jmz0eMsQHgah^9s{A^66)egSi|i2a zfe0O6VHar3zrzazmv%j6zkl*#8!Yd)XIkgk;A4 z$^ok?sk5rG22y7o{p+na*O})F*+O=9S*u;U;JenFp@WA=D31EFX3S_+p@wd2>0JwN zv0wZrlj@k3DYyO{O7^W0?@DuJR+X)>w%mHYiXjSYpu`#~M%lXFl^UOOEEvv1@Q`sI2P_b+m z8ewz#H{bmcaNURgPs1%Wz|H;;kEO@8)fHBe#RMQGNZY%6G}x`HEw>tcBY0dx)&FPj zJpk>hs`T;o?!B+q^d8bf8lj|6LqhLGKm|lZP*G4uK*utoO?ErxER?swzBEj*~X}IsD70_8&7R1|xZ+P-G zG^G>uW~`ztXRU4RmMhL!c}dPzt!YBBjFln19BCbBYh!aO9!Ft)s9pL>waZCT5}SvE zmrdbUD(YO@&~9J9{Sj+u4!nZ`tpZKO;6W=Un+*-P+s#D=RKo4r)fGAD<&3rB5tfD~ z-U&w^;E~u2(wbYjecJ6G?L}opnV09nDZI8~09KY4gSJjMGO+XR*HCzhF>RRc6KP4@~CUT44+j zE(H&{eUI=}sE-b0ePc7~XS)CZy4*S45Wf>mF1lS1QiMe#iYZ6TW;IOMy!^2tg22i9 z1GP{V0$=--{{c>M6eRjn|GyjZ4+UwZbyb)=wp+W#IY;W|#~%mg=EgtADi`3&N}z*E zbI=`KwjR2^6F73vdxNV>t*W%xYOr&rp`{%@ColoNyaK)|bag{Zr?s@SS`F+Jbr&8~ zrItXY9QYgBAJ>0Hws_@w`@wxrTT!mq7Oq%t-@oq(J${I&>;ZLuZDpCQT1P)SBmG-h z#_y4LStE37YZLS^9b_ERIpOLFZhtn9A35lhqD-;Dx#D$-=tmlb>QI7>E=w84?2yqBTt6 z74qnZAY>>hRC##j15QN<2;<3q$fv|!LaI6@07s~vfM4yU(H9lodJYNwBRalzPdjDi z#rBQ6K4^1B9&7uKIo7^*`{{PjxRY(hhH1-G#gr5Z8ew}FZlY^cGT=C_K~?$tqv2@Hca+jT(Q$JmX#aHdEZb}J5G*og ztr^bawU51IKfV7MsM-#@T`{XZfx2`NaI>5&^a}w$E zQM4Ts*egGLxb?#%nh>)`4Ysp>af`igkBL@|{+K*;pbe|3RDHkt>(e$24)6SlBjKRs zY&q^&TyWi;wsdu~ePo|WHngf7Hlfre4X%@;`x@|n{OVh*y{Kff_}M0k2#?-m|2Lqg z5Bfie{%-QzOZ&fdeIq8o)mm8WXlc897$ zHrhY@_AWbi>S#ND`gko^{_@O2>~lB%+5Wa@xqa!FxwiZ8L0Bj(wpGwWcRaV)j+!>k z-gni_SRmAjC0pXkg-ABie^W;Ew~Ob^v~zxbo6Q+N(mpb0vVHWIciHYp|H7fO?2Wbc zHeqmod(RK9)1>;}urp>*RjJys8jFfwy6HiC?)7yt3sPTiqW`6MH^NW-+l6hrrC1d0w7L>?r%t&u+C<>)Wu{*<%0o!Nakz3_FH) zzK#j~N3Xuw+R+FuFvCoSDVqDM{LVVz@^k@?EDR~^V1${nq5Y3go9=%vucEA9hcy09 z@BeEJBu+%p&oX3zKao-}n9PzSBFq1@0zyFmlo;&uEhPXNX>rgvgi;t(30_c7++r=x z!l3sE{E;9vkqricpfJ#1k}b80k}4&ae9MzKYW^y5e7aVrWZx*U;XYj?NVV-K;PKJYJg z!Efi;|J?s2+ke6dHl$>d4J(^q`;I-VJip+uQr!`-J@xkG>`UeT;sPEB(hS^^e9ndY+mwjC*Zg3U5zjn0FvGZnL=J&K>0g z+cYqC7)CzIX0rI7xP@JIE; zz`%YLcJdyR?BDNt*be^suk3ipjSxYn955&P6NH{0pozg~1-di;J^ zaW8^Xa+@84{6D?0#P%CM3i?TFt*Fy=y&lza6g*4!$V32d1txHnrJUwsrwb;zyvxg@ zs-(n*)>PXUZoJnH`_3<|4wJeI58T~ueEMZO;yc&c$FI5F24XVz)f4yCq}^-PCOZUG zyD%~MX81{e7X8OI6r;aJ4XV-P@xou5w)cc#HfQWGI3~B+ zA>X{l{_WO>>=ST?`d63W&Ij*ElMbSF{Ke?IsuHZ`!`BNj`Vkm_>#$br-0+~8#{Y=~?RI|JNcyIB`xfeQc;Dl8;J^OFe);e-cFw-L+1LTKcG{0_w4=};YjD^8-2Ha5BIteg$=q?n?a?JG z?YQq=XJ`HlPAHtaZ@+gwc}4hT0Gov_$uSH)p2Ho@4B}bBLQiFou6%@ZxZ|3`HLG74^2=0@(onx%+6rBg zgKjPDS8F*gq9M*6-cbG-j{~Bhe>na-J6i2ydrz^amMpi!{@=BB%76dC%0S;qGsoMN zcRp%Ad+;f2QC?w({(o27U!kWCn=#7fLDyXVr@z>O%YJ6xy8U50Znp`zIfS+Y1#wG5 z26WN>bjQ!dJJ|&&!ZO&na`FQ3IqtAKcisWhZB0{?z4u4Iw-bNx zJ1oG~+h^zRhP&R_wM0GYZm-jealSS9qyD8mssP{Hnj7uY2kd57J@k|v^o?KHM}Kjf zjUP~B3#N>)veJy5j>X8U|MINOhu!?>FaKn-Mh>#wM%2+$zz$6G5gSi>i5~=$Hp)*q zZdP4){)zU~(lvIbu{J*uxB8E-9mneYjOUixSzb*2mvTDS0@yN z&(S02Ux6QiC!pkA)4w@(I6G7<5nhid9f*}4PGTNmwBkUPdj}9mlQ{-rqj7a+v+)D~ z9(7YJ6BJF4!;ki&;gNpQLpq!Wgvk?;=>q73mT5(J9--0xvh?@HUCy1jnR>;|pRuJK z&supk28lJ;O;229N6$D1D@Ulk*l~z2D9d`uyz(3-)>u++>{@H3Ratv>{rz^yZ%@Hi zwbeFtIG*i-kiSv?f|XU~?9r9C+T!26V5^&#;jY7Q4F>X9mBoHQt=!hOVB8tDqJD|} zap8~9zKpHtd;t^k585|RzRj+D;7gXRf%A+qY>CT*YGQ)-BN9n>j$1JD{f`adC`8(c zR5~(*eHDr$k}#|T_3=tLR_Z0fnROsN3}CN~JQrA~Uz^W8k+1;fR!G%}K^)7IpTy!Q zVogj!n1tc*HWQ|xF_zOh{75CgRDuwwo3KLRVMkY}Z+qkSzN15y!z8%Ua+ut-H8yCwm^U==RWyTgG+$JU zq}~S~{$_vdUgsw%*?JpTDtYtW@X9D^0!o z;B&6J!4|J+gELrx=Y(7A$_Jmc&m6QD^xi}8IkA-vWwp>4YRmI~Gx!6l(38|M(0kZ^ z#`N{rPn|2PviqNZ!%kXwt+nB90-df7tm@ZeGMOu9-cmc|``6m)^}h941yviVb9tmJ zc0xCvv-dQ+2a5y0e|(W;%4>0lyV*W>-CcJ1@$>Avw>*M0w4d_MR!FvS!T8T&>z!4> z&|v(dMk}rW?U+19s`7a6KLmG)i>wK@XjAwj57n3859Puc#?Gbw;Q+u7 zZ6d7K;eF|4U9Ta-LDkEl|J6^dg5_KiSRD_=cp@^^jXy3r@x?O&VV@$b2=HrMMkCE) zNbxdWFY!}PNJdnF%SuF{5~xS~X9V?A4p_f%>WY*9D?@EY-03GUezGA9Ieu0`yTX)w zdq8C2?n@wnC0LdV5#lG(X@~IdvP4AWlk-_Hk^fAWbTB_+0X{NQG_b56vCT@^Adme7 z{5X?UdS(y7G&wgN>g?K?+jO#{kpq~KZOK1+kR8-|yUIA3XD}Es< z+8olxM3)hU9lxiOFUS@Bgo^Yl1X!C&y%9h;8*s?Zk3nUtjEN<-0EAp>{Q%wtt=^$F7CwS9;GZ-S%XJ! zI_<34Q|ZI%Nf|}`95XHrTgH!q zIvkR1#kOWlz+YLl&PuS;=(W{NcH$M+aCbR$awTp`Wo!)=hf6D~?KSB3@1Do4u>*@A;N-vG@i+U;IY;77c9|_%!#?7pKqyP5 zfB`J)^+g$00_5Lm%(t0Q3h1O5YpWL4#LcER31B1*yYP7?>u=>C&zS;vb?WhX|Of*`0} zns6YLD=PzB97Y}@ZXVwMEDsJM$p@FXDVk|G<(CAS)sWC=(ywZWpJ7xG9ahh900-~= z_^Gfqq@Q=bVjoBPIVp~eqhm|9Z9V__TXPBg;8!*Zwq;R1a~3x$c7hm^4zq?osjRp963 zun{2-x7plCuo|R$(?Twys8gRYW7W)~ZH>hR#gio4ixOV#^K_mG?)0+}sD$lgeK<%z zeLcy)QUI;-;0R@)2m}2n`cQVm{&$K*Gx^LqRlkRcy^|dy$2j0cRNwm}Gz$V>C$^S# z;JGM1m*tg&)~Q04E8rIm09v}L-hTS$C+sq8KYnS&8hc?)J$AS(w5MNNV?}M;N{w>( zaWcm@Z1-rgq&n1IgxBLG zTMSF4GNm?b$Ur-7|B*HvcYJx5xF4=LK8q!05e@qam5Sd)6pqc|XF7j4h@B-CEw9I2 z)u9t;J+;X8!d>udK752d{rW0<5&ZepgU=WqFjEa| zK3gjyJIMn!jkR{z=mFJMht>XnKWSeAAp;XzOgj6+!Qp3?yalYl+f6zotArKP7+@l0 zlW=Cwp^v=P*!s?0J?NJvY{eEl>R*d3@T^UIMY)x5cw@c9|Jw3(xO1N|K0VVE@DZ9v zgd--7ckvZr-p%4f{O#%=jeoC{O%RQnlz%ot)R9_F%J|2E-Sr>RkQDtCwp{I2|Fdq^ z0RUw%Owm9j;s+^PqkoCBfS>qKjwe(k{DCN?5FO*_4o3wT;8CIO_(4;5`dQW+26!leFn(~MG>@MRRKq-vcQ3osPh3t5X(VG%PsGo9m?lQXwg3uM zc>e=7;AicQ2K51+`Yqp}Pz_-Mt5mK01}v7G{Tf7*Z1JWBWv!2iY!6gz|Wp zO~o7duUaG!UQS~%)KSn)uvw0Pg;~Ao<8!S#a8XDnc4~M0NJLTrzsIBg_eLU3ObYdg z7KBwF%Ywc<{#Y5)0st-w35NMVi84iTK_Qb_MNaBQZhe zBQlkUbGH>mfpj_ly#|Rg8?pub0fg99N4B)WzH`T4?Hl01OL*MondR&4t``^EgD>Dk ziFl^@zwiB<{p0*S?EN#=+4ERryycn2_9(W0W1E)aS3Q(zwkhDp7^y4g&ajOA8@7py zLF@;>*F|7q}~q@UKJQ1 zJgT992c=llive?~w1bau~S2F@lY-yoW)kd)kZ6!b0Wc`>J=pmg5XWJ|6!Uf;QmXQ1H zu7%gxE6bj?5w%n7eS3dO1zk{C3Cgj!=*Ixgw%9dK{j2@{$sgGM6Hl~BgZ9LyK7L^T z{-^V7QPZRL%f~OZ>mIoR+bT}6DMRPlXAil`uDFwR(k6nr0YAB)#Q@`#xEfp6>CW#T z9{-_WsaS;;1MQ7Q-gO`eND2HWSTydOnT33YNdpt}B@hQ*C>d7CsgK4T z;y#(8Oduly1Uzc1!mLxZA`toS_*G%xmBSZW;xfjvj#mNTVI1nBV2_Ae^s~(b#*cNf z&8iy-fgY9?SrI-oBNk&}562WtLXbw6Lo}dH-c_a8>xuwz3py6zl__KvugnL2H)P}< zv8Vji#N8s0OO7p;5)~>OdM6+elum&b z)}bTTKtMmd#*iM8^ZZw<3AX`MKA!M{Z*Q0Xkf*Y`T9*kt@7r3>msD}G$^-qGmvuz* z;m{A1A@vO$3N+x#`<}C(Kk&32x#uL?8_&J|$9oR6PhESPJppG&LJ3@yD83 z!gIDSFI{1KjTvU2KRiq(QGmXV^bc@kP>7VhDSqWgynb!R%Syg{{R4QJO4g3qeX`9N zJ=m^%|3P-b4}XW}YBTmPH#}r@Rgc=S;Lq%lgYB0eI>Ju>@gGGNUwBope|R|xc!LDd z$nV5I{K``M1-8wF*^o%r^UuM7bXy@IP_f7xvWj8SLdK}SkjOhAi0I&j`bg;5r(_xm zkq0cxGG%cqJWHT_mJ?YVd|4JDHiutT0fIHQV=Faru^ZVOhLr)t%$NQZKAr;q)iVJ& z^gm(QCOUV7V`*ifQqh3+k#529gpT!mq@yY(2{{5@nrSTKG-u$I5#A?=0umnAf5a9l zAb!>WWCdOY_y_|&i}iv-qUxo-CT5R&fHiS(2xEl!6$6a=iI9#pKq0QuNG5*Q|D3tF zzIJeyARh>tFO2}(!xqzVjuSPe$$Efr)lB}gXdXWzp)bTsRm`ec2Szam58J|0tblk} zUZ+qOtI$F01QVu^!gxpz$w~hQe&+e)T#MWb9Cp5m=kF~4OKST;e>yf!dfWMuC1UF) zRBRF3vDxtt_(vD5umzX@-1eKkiyb_9w0-)(nKq_>wSE82$3+=itwmW_gErWPYCIQP zj~zpC{N=F7#&Ij5A-aHHK8$LB`~x7rs6-evjB*-O8B>siN;qT@V!J!A@c6xx55@Zv z>g{(}sD1L4CAJFNhHw7N8N#74>cY-KULot)68>&&B`6n^ZhUN!-2nZ4#9mYEfbqj+ zkG_d5-8cPhvHkYpg?9ZT&)X5ZkGH*d8E)S=ejmH!_xIbgSYTB7I3Yq?=(8z`!OCZc zJCODrY!Sz+ZoOF`5bIug(N|Y^+>&D(t>8)gaOyqDQ^WWKvYli8#oj~9aq$r44@u-T zPA)4>rTiBpI9%irV>rl54|x72=m(q06rNd$L;~fM5DKG)sQ3uOmhi_`2r^160^(~#RyPvz> zM)VtF3mYD@S34fJSKIMxc-l_b>s)tO*_RRo?~@JbM@z#}P6uAd!q?1qLXq(;vK`n$ z*@e459e4o@fBXg-(>syI7wqt@f_z~P^8l>pomqx(T^Qhed4TGJqouk~mUle5fTK%c zUIE86z_V_~^@dWm0YBBjy74wY)v0=89`a$p<&+CP)WLFuLms!}&|zd<=mhki<3J+v zStrr}M`wa}%or!H6sL2*dI87plS&2v$9h#3b+Z$g&v8O8DjhJu5slnamz};n{=--Yk2n%^ zfM?W>OxcY;^pAzo;*lFyUvH38ow9%bhpz8CVc z_KOE!vWu^~-(JC1z$2%Rv8P^JZln8EOE-`%j`h=KP4RYNa{CmXi5p&5gS!UJ*gn{5 zi&nQ`k+Q|k-fwr3DEw}JF-X}K@z3ce0Q=0R_pBQr;-xS#qJO8K{fQ{@k?MKjI<%@1 zZ!6`Cvpna3DWmZ+Md(}fiM%nCaU2`s7b-weuW|C*hC9j~czY{%7IYxq4kwp)lK4`c zHpKZtm-ZICu@qsZbs(%4?x38~k=Dubt^7VHb|)~bIPD1Fd1p#xXm9*S9IUqkJE~Ym zC$<<8rjrhRtJgQd(C4yI%x4~80M~&uobV4Dp!{GTkS6;>+lH|8K5Yl#d8JK}{XtzD+aK_qc7?Ce zrHpFP12EM2w7D98j0ZURX^gTA(|JH>-2Sj{DN7n!s)OZx5taQ<`0o7=$X@CH1ziJj z$qOBl|K3ACcjT}?+cCCUR)dAr{iT%5Hn$p@CE(rJl_Dn z*QQE2DP~Dk!1^4Wa1OxB3I|~K%s>46cI?<$YRejm?BG3VlZctc3&0!OpEt!Xr3bu3 zjXDP5(ZtJ6+y{>_R@g01y>4H|BIsYSm^pv^FssP5+5dareC*6D!6T2%d(eLW)XVnK z{bpz)&UZ@ik)nuyG#(ccuRzyod^v#=-3Hj)MQhq^@!D2reEFE~}=UFh|xfDbD1jQzwkbw?=Dqwup$YP1U%2}hKd5JWr-G_e7hV4jQw zmsg#M*#7Y+yd>sAJ7(I);mjUT=OrZucwjiujfItjH@iuzV!ma5@A7;~87k zxA6)V~o44zG?7{&8JcR^Y| zG;g{+w|tH5HM~Fc+DNaM^|82|15V^n2=<5gM4Lk?uC@jI1^NR{*tkX5vUbT4qiq=` zbC2QWP^0Q9ZD0kSXMX4zn}PQ&oQIcgt;K}#1+-y!O_koX{HJGMvDdH_@cadP*hdfC z%^qL2+9vd`!Cm7ac=JED9z);%5YKe|=PC2;l4ECsw@cv+W$_Z3sdg_G7c$tY7YGsU z`Bt<2Xe-HS!9-^I&;ho`xWV=q-aaZPh0G#BfDuWgA88D;3}MI?MR4JJ)4q7v?s$9Y zGQF+(1A9!c8=rUyFTNtM7`R#d$_IZ`AL|q(WB3J}Xe?shmav8z;0TWcjS6T`#0#;F z2<49$R%=KEiD6=|^FN%nM1Si4DDxZyF}$tv&m94jt(G-w@?&euruP~ix51+?E7sYmcv0d3yNWejXD2)~CUc+GNuou@oYM1~1 z!!~i?Y`iM|0y}Wr`|a9?zHZO2yWbWzVrA`)&)~BbN7;$f|H0;tKHC24wlCV_OK-=v z<#zko17E}4-CgbYX`g~aG|w)({w#ZA-78R1P*fG2_Jeya!dA9cJ9N_7cIZUrEwZcr za)}k=t#s@b^#=l?w>$l@mk5MI7oPa*jr|XL`?UNg`gi*N*A4|f8ykk{o9SP{P=8Aw zb67+3aZgZiNLH=B3_dB1RR>>cs{k%K7akacy6`WF2n@1 z19z$Z@aRIj^bhyiJiO%Ugejx&LZ`*}G}2;y7g1J%I+Z`pM-?VI;v{BhN9tdOpyH=mec`va*8E{fhZ;YSy^3e=FlGTd4Z?B>rJ~#XF8|&=zcoEftaoAElf2N%@W2}7z zlmDjnoIUXT>-M?-y~B=xb8-^kr;wn}<6A7vgh9dyN=q zXJ2^(UIwd!a^k%NJe327goj^w z-4-odWgkMnzJIqdcIUG%+ZA}0uZ!EY`KM}FA7g&74T>cF-~0R@jzS3?yO{kiY4ZLK z-LAf;45a?wsrsKg1^DfE_UP98-yHLQKmN1jW%zQ)UC{ZRcHZ8*+9&s!X0Jg%f9K{0 z_2%i@AAb=qwOWGD0L`%RL+k7fybS8xtN(}_Iyrmaj4`kWo%YF}-Ned$XP%T>LH}}g z(p~=%&h-z@_;0|@jwSf45NT?{PLIW_)`BkgWpjAh)MtNp7yRJIgoUjJe|ys@qxyNvL{N4#|L+@IfyolUj&>HVhL*|R6x ztzxU|<5+B6dv(LwZC|{m+%6ETjE%-(|^{=)_qp6&GQAblv z=O1w)l|lal)NMIo7y*%Qt^a%H_%E7##^*416-UH988tGCti(SJUWid-5JXM@cQ%GI zIj?lNFDlEpg9fgvGni6-Ckpe+GY|MvkE zW6N$9FNDeRlPPc@J6gN&i4A-ktdj$bb)tIo1@pLds|0URZEZ(hnJXo>lx^%}Ip%fX zjt`1)OI2|h6ap0sXzIYX$Fg1gfHvBYZ39l!iE!v7-5!Tk?-+k=O z{omK+Khe*T#F4@Q?_(~+Fq|-kdZGR+>p#f)jhiUiNMin=LJ0!F1x{{d%RxVJGMK^k zW__B8yn>?Rc2j;!oLf9EI(#@rtRmy4xSX=$SXv)g6C<{w}-xmcQ6*%hu@=A*fsmojfQm%~~7u zz4L&x1fu75R_J5s@HXmlZ1dx%sYsOggKf4*!nRj3nA=sMhd~1;@Y>Fbg$mrj)fyl>fy{O@c2U+Vu2`+xYHeUuP}bADVq6wb5@&{bF` z!vWm_zzh`~(mCY$sDW$-{LW+d+y$TN9ARI8-s-^W3b*uMeDrK=5gutL{os20#wiEq zb&C)QDK!XuUf6&Oe)@lQ=KQ_vNGzzH`O{m07dWtWI)l%~=`lIzI=-=5vqIum+n|#% zY2-R^5o{M9VW_Ie*`+7Uqv?@fy`lc+w>9t%1C*7%l|X1TcpT~1Jo1d)^EB>m^Rra= zi3g~cK|bEl1>Kp^x9rIPJkBQ`KsUoq72%G!UOX4{A9XQN@R2#%Q$9xF^}7D`NAZ}( z$0E4^iu5R?Y=1nE$7Hs&Y0WBYS+&|4S1uFWvzey+zFfs}snj+DZ zXYTzcBXrjT<#Oey8#wrOH(?+naZt$=<4tf~U2Rsvx4wlxVrP|Eyo|ZCtJ(0vRpj6R z3^OACvz$od4m0~gZ6N=d1X>-xnuG)-Zrmq?)8PR>dkYB8!|USJ8_csN?P$SH)BjG1 zXz=zUp)bjQqMuURclw`Wmn(Z1yb3ZZ`gv8d_#wvv39dr~A-zJSlr1a85TOn)vInp= z`XbzkJbuPFTeNbGO&c-Do?p5O-z9(1sw;|Z;39mF95s6F)QpHp|6m*QYfJ5Wr!TOH zg9q4u-1QicQD+t_n~me!=82hQ*jj2I!a$oToZ;dl4GBCEzJ2q)MQ^Yxy?P==82`Fk zfUgKyGjuZRiukFvSe#INE3%%Ci{+uCa~V8GjXW+|M*OOl6LKtal74=>(ObqG)P!;w zEM$^IexZm5sdl`8Mg3WNPJ#c*f-`g%wlSCCTawHV-Gh2r%Fk`sQeK2fZ5Os5Qav$; zpDZB(5kDQRTzR?kPYnfbJcCBt)P+g2>@TY0+gbG;Y1QI5gcosM$s(flU^pv-S;%A( zK|Bjr76`?VNSLJm!3Xdsuu44Yk^YZ*j&iA<^*&AZFAiF8$9vGvg9z=N*i(k+mwyQZX%` zL#`{CtoPJ#hH!MDv)LI0=t=nJ9{eco{I0^7@V1KpG@siDi|Yqiee)VC>4%klO(KyY z5}Xclk2b>TRRG12N4^nI7o12x(lo85R5LHaAeNVOX0Z_dqX6gY3%p}drHPC04*uu= zHr5tDKLXn=IHUF<$2Lnfsp)D28se0P95&k9P6E2+v5ubF|D>cZ%YUN3@AZHAfI(I_ zeuBm-$EoWd@`2J2^-m#+L>$Zu9zlR}{Reog(zi9N(~Gjk4D4_BKKX)WD(m1dROE|s z{AalOFWnHTL(z_wW-IS%v~|rLR$9|vtKkHZDhbUY_IyR%G9rG0>F5q0!@Q!|o5Qbq z2V6P&wT+C7^?YNsG7Bq({w<5kRT3W z*QAXJ0G6MEFd^eAM80!+3Vw|cl7jYvPV$2d&R}J~qh^)iQ@J`c!6Sb}O@Lz=!t20Q zabB1vrUl+P{aO)I7ICRY=ReDDgdb5qoaw;h{jfdo=P43DdU^k&|J3DVIC&o8WWLKo zqMxjxw7MuVB<|pZH0DUAaoQQje;@3B^&9mMI#$p5s{bhOSj*;wh`NSdtnuJi_PXme zW_T983Tb!T=`5+Pv!!_CW7%uhkYWsyO0~KZ84$tzD&7#>Y9> z9>A(xL=xNfX7~e4-ZzSkN4no>+dTevg#MibKW}=sXKK{}aUu4t(2tH$$BVrTtGCkl zPx_Cd0C`CIU;d!puz6k!CBU(&zOO$hcF|N9-(zqA3_vPwLvVRpxh zc(kyj&Wd#tDe&V>><_;p(ArgN#r?=9=hO%jp&G9qQ#lM$iX4Pd0HwShT=ktfrXani;P*Wm zY$bo*e7az2J{>p_?fFd8LB)nZe&U;F4B@>f5btkw~wD*q;x2%c}w_( zHR0b{{=2p;^gkVY?`Q8nMx6gVvp?DEkO4Sn%;`z?Urkdh(Jqg;Y_i3SC;jJr)|>Pn zI+pr}{hRt9-P=w6!Ih2VpZQ@dgz=%VjI=Q78TDgx`WJq*zI|R8V2&ftf3M>2^bhY2 z2b-ayZx{cT><{VVZzr`sva3?9WDo-4D^6fq(!T}!LveEEM1d8%+&N(u5BWaiVbBgL zqlsI{1B@3(#az8nDV`Z7boUe=A`&bJS5L#=u(nd|xBp{Mb(yrlnkBKs%lh5QDm zb!VG@ZBPBfcP(SI({xeXxdO(syED8pRSXnl-oy!3Z~(}!kPw~)aCnV^K#cWyheSuo zx3m$iXW?JDg4@6X{c`M_eqR|3^lLIpLLE;0kpqXcKtKHgaSyP5N0?A7uZ*zj%_!o8 zQ9(SjtMWYue@jz%!3^4^z7hqbgDplonI2cjm=fsk1|is;rT_c7{3rTdvJ3J{xrb2q zV*S^Fmx)LYBJO#X46=fnOnV5J z@E_Dh!Y>6H^uO52a1Z1^?G}uj+eP-CG?Yll_AfWBj{hW4uFt$RnL8 zOVR+y1^)_M>!v|^vHtDJ{x{#Q-y`)8B!-9kpUM6>H+c3pTF3c^k2jvv_}f_j;4@lK zF!)7Ph5Yo6MmM0qgg&NDeu;Qfe9NVfdFW z8f>eUVggL%9O&073fitae@G|&d{v86<2=wPB>7IcXeNZmanUIC5-JKf7f96Ao&Ty9 zryhcT<#Ow=P@&fh00bE3OO{xd+aJVfwF6Yb4^H$@{qU`sL<-cM1>q-B2oBxPM7$H5?{xwT4 zxB2`d*xj9J{3FupC6EC<5Z@jvUYK zB?LGOCJ7{~=tjSQh)6g>{lvq*z}bV_2Y-8e&fZu&*jk(Ls`_?J_1WKQl3LQM`#*G6 zpOybae;9Kv@L}NjCBMs|m+8N?FE7+LTYbN+FYQ6i1)^Od3i<~+Pg_*TC$5W9uZ4%P zScv7Q;FJVy$+!}|9y-&~e@qSFAqQRsVH5s5%Orz6i~lX_*I8?0Gx`a48QNRXvu@X1 z8ra{o73_af;r;I+LLeUcACV3EUsg_)@Pt?&8h@e}H1pq2iT>385QaDgI93#;fM5)5 zC;QX1a4w!azi_6~e+tdI1+I;0QF zf1)3wtPl2o?E2s`CG{H%!Lxh4okfMXG ziY9>Zp#PN^(`5%R^UVWN6$TrU@Vmj-k^D#hbhfryJ3d7v$BOm}Zv$^{;v|^i(BCvr z^bHuNoeGk`kid2V`;R8~$?=a~?lN%yw~?~7-d85q-D;SdU^R50-$R^7i}QzgAMKldy9<99OO5zr~) zVE3w`J)iQH!Ut=-`?cO}=(TpJoROa#u%9)NnE61aOEp#S9q@04vO!ZhM|Bt$KvGm& z?7{!f0;mB@8|=CD^ZQDTYOjjQ3beGQL2s%Qirne|B=&;AycS(RS3ngMJ>E7vQgw~$ zQ~ejI9YwBSo-Prspcn2azIB!hRWTB&H;bc@r~5Nm4wxrqz~->DZXrewpx{FT4cMFG zO=Imx$iWIIQ7Rd-FH&1qiyKs>MUM-JVB1c= z8`$Tk%FK?)IQT(T9EC-!3kGyG^0<7UgXlxDI0oY|ZSK)_S+BzlDI4~K&Anhnf?EKxT&{-H?kbCNP z|I4JQ^`iA5tw<~*8e3Bomd+lRynFet#%O2Kuqg}cv+A|HU66OsH$)P7vI1-q{e{JB ze{aj6nIr~MYA5;Q9VZPzQUVJ^Wcgp8t9&_3{x+DLlE!~6^3hCzF#25FOK)PHMQ%fh z_fV7-30?pvasUxU4UoY73xMD1i{TxR3D?EVc#6+#up$b@B(iHHwi$a0xl#K@uoX%G zv9ePkN1{UL`%)nL#IgrIGqDxK)OI70$LkmF;6KTax213Kg20~Us={J7M<8BGbJu`bUrQ5xMtmF@CUJ*dtQiqw8DFis~RqtX!mPs z78jL>uTK5AT!3M*Fd9O(8nR(5jpZZxQwu~*eQ2Z;g)vHX8$7G6p0z#h)g@Urf=r9@ z%zu&PE?>I}T^bj<(Q}^=YuS80%J?Ou7*JzT!{fL%ECtZm?Rs36*NrXaJYc$GLHy_gm340R4>g(=9T-u7qxwxV=a10+G|urzUmlGeclLSTX; zK!nS*oVyw(&qGlo;|TEa`Ec}QpeOAJfT8jJ0?NX1S51RB`t0$cr>30F>BK3HWsOKC z=jf58daG(zD=3&)Y+c$bPg>!1r+0&_BR}{aJNG;l9fA*__ zed-BcqV50i%Bfv&WGYsF!zgOXV$6HHVJyX*D29AOZ~@6~0Wre)d>Kxm21j9;y+@dp zhZ}ZaC#f>;s2{N{EGxhN(SbzvOb?bmA{js~)bo{#@Yze%MPa~ejHo_tiP&snT^tzu zF=Mx(fOd|X^7lO5#Yyei2g7V}xxILyvrY8`$sp;X2D9*<9ttV17WQba57@DfXeRz( znT+Xiy}}4=@IS~{7~YFw{O@VoL*A~YA>3-n2oP483FVVWzT{$&`eQj8r}@uooP)AV zKw7-vaqd&H5(^&OAF7r9cx@)C?}qV*l|8{d`G#Iw+jQR-IMxfgPIYF#wV!DJ9hdeg zUP-vx0qgLvE1ukrj^{<}C|XH5I2}H)8|J;~-GgI~k!=TV z?k+%pg-kVx2r$qxmG1wL-8pF4rvA-`2P3UW`b>3Xj01rHoE}vj)?HcB$xFEqK^}z& z+K(v-FFN})_TP$g$;`jxTo|Niw8}~rjcuLVX*vAU*;wunDyWBea0puOK*Rwnn3`dw zzDFQ}B?a2jhuS*GY5Jm3>07G?^}KX@3(iyLeX+Id|7SJ&sr3k zaQ!(WxEEf}%k_$q#P|*yCnMF!DN_pIb*3H%Ue9yJBR&bFD2KzS2LE3VTOOf)!mTf! z4Y`T@65I&d#HC~|bjqu|;$F5qh#SMBD%ZILnVIp2aSBY5T(Cb_ZmayWWsCMf!rvRd zgp31&1(q%7Uu7hJKpN(}pvHpseo z^UqZV<3DV^+6L{hjaX8H)c{3&R#@JNHvilRoc$kFeW~*O3Y%N-p$MU(UZn^Fmw^sB z?j8eBA%#l$PyLm3EA1yQC@L8~4eI@5l+jcXmzYyrEb;lpx@43ZO#dn%#mcL&rTvdUn(Tgg31FeiPgtZh1BiSZ4 zZa(+Lp~=0Kmp9cw`qhtx50>H`X$K^7FaS_KL*eh;tQQ9*vGP7Nv>glx*3O(^|PE~;s3CV_*&>-ETa4$!`gl@0#sDsIo8m~PX0qejHWGK6TmDSBnsRS-x9B$ICBwv%Zolm+4{B`Jsr#}c9TTEx zC6euqYW5c07wz&Tfoh`5!4dIU7<<*lj{mu@%a+M;|M36XVhSdN6s`&P{{(hw-;;V- z#pcX23rz@Sq!2Ac7~!$`QIE|ZlPl%Vd&~0J0x#34&CCRBU*W5vkH0bb+QBA(kHqv^ zcf#A2$}CMqx{hZ{`=3WW$Z+%Wf3Z0-E%oH<6Z$pJuIX@}DjYKh;oVZi?}A4owf@x` zaE?LDTFk6$#M{axRDZQlWMOa3=o2+onpEkh7G_>?J0?XOR`lmh{mZo)MbS2-is~$u zUBoF)JvrI|rPhV)1O51k|3wOxf89Dwv_?K|#%xBy2FtkiYy=4xHWxR47Oufn`hnFV zvTS*wRQXRg?M91Nzk~?CM9Ao$OTy(Q(*6aHKku$mN=F#(JFmm?G;?*5pSh@+Un!HR zXKdwsHY>=iu_Nv7DN*DX8!i0rifCx%5)(Gb#lWlp;=(XXj}seQ!6L#*-P=d~axsMT z^96;7Dnb%9Dr0~3C{~5jDmqiRcbb_}$|;lP`frvYhV@$0F2DxhNFqRNLA*xtp5nGW zPGi#)4xp?%txy8El7jr!nMSlzfotop@H^0L9ynM_(kX|=& zY)#yh8Q+LcVg1t#(cRjCYL}S!Gie}=#AsVg`_;k*8_Q}@(#ykXZ{O|@* zbV2sB^s5V2$-@8Z`);4|2cuAUZpOPFQ}`FYh~9GpS?)ev^pm0zHcDS_>98U?J3C*eoDoDwZTSrAQjRFTwAU*gbfKz=aP1EnjuxOgYLAOQ zkdxcEdqn!Gy)KFh&I$D#=aT>qKex>)^ZQP z@LrzV8d`KeUMWhtl%U=dXX;k~S{gIc##PRgW6;CCk|gEp%AN@w@h;y)s|PVjp@@j6 z9sf#N3v{xSAJ~v3#lIYI%mcEzX(C0{%Ur}H_%C@N$m9Q!{D@V_HKjQPE09Osv(_&R zbPpHjrS4m%V;#ngI0oZ)+2$C8NwlLTy5TVly!UL}WLfD*oOxiE#7X49r}57W8GCii4&X%FH^*>>~^T zL{!|N8MWa%@fnf36oGMGi1ZF(cuktY-^EEGphsys?xSN@@xSh~P9+^wZ3O)rFEqIE zP`o!;n{PQM5!E`{0@3->ft%z9O9_1GxOHXCtXdpfwhEH4)eiw;#xd%Bv zSgr$&1)6Gbic>^x<6;>BqG_%2qe`~n_MZT8(Bmc)M;lk&_fgdG8*(XAlG=irfSfGt zRMktLjvUmHcM<##XrCO5G-D(`$C+4ieqg)^WKu~#N3i3>%@gK&N`cs=6rZ2}o3K6M zYL6;!M3WQC!S?#;Fk~7=l7AVm?+xZXKMjhKFHnj}<-xO{DxYk@B})ZI=D?*~}H zh-ePg{TlW!_)`WSg93Yck`0Ui zeqursp#GRHVPG>xuUz$yQGZ{IN+MHU;Qb78*{m)VS7GYGvgFl7twk2aGuLl5MflBdPLi3 z#OtXfCS>l6=&Xf6E&iqt_tEH=hgeaL)Fh#e$-Vou7$7gse8gv`L=X;=f2BcOcg+!o z|KC9KnETyXuotX7$m*2L$)TxnYZ)|CZjk|d1&=Y+Us>G+$5H$XNgU`*XTE=-aK{(2 z+7(p%YI7~jx>SX9Og-Yg8ZrOb-z)mmQ@wBEw8OFzHP?Cl$`WG#j-pi@zMxm<%GjfG z?B%OS3yA}WUwmW!H_+sabhM)cB8nAR|AF`B#H=*d)GV;v|E;94CJ~h@$~l~ct^=9w z8xWbF0|Dwf!^5p-D)+(n^F(U6-Ft;R?0#W~ zC$&?(<|gR%4@p6039zF8%(Kj zVtEvPDh+>P1`-;TKJxIiYO2NAzcWb^Iifp!UBlrM=ZCU;!;nQq@WLRPtJJ5k5@R6- z>rzLpDnhqfNv5W^@#HAyIR0BPK!TVKocgAzkjY!WV<+eDxBC^0wZuOIo_X&#sv*^o zJ+sxm20fO-)1JMARB1=h>wwr`kiJvPFP-C!jW`m)YAirf8-GqZT>IAZ>K0P_vv0+; zBs-6K53_ChS{9afygxWxLZsnj#}AHD=>t0=^;uVN4`GgK$&!)MEuj>9u~p^_1qd7J zrK)mJ76}@zz0TFtbC0n4bGmt8=RYZzV)6=d(}S(gLR%u1{%ST2+->Qe5a-g>P@5K| z`0-6f%+;@&lB$f;3U%G%5sK}Zg)!wLl#EBw&_*hVBYmM2pA6`T?(Dy214;U0CIelg zz{-qmz0I^0?hAUo*YvwqR|_%0?_b-Z!)P$<5w?`x#$N4Ko?!JssRfS65YCp+xT6Tz zpA{Mhyn#j7wV8Qn!8y5jYmHWGC<^h2V@XlY6yYkC3!v9{fj^6`LAzp{eWxdY$8+!= zD&`x=HTs8N$-b^D=^JtkvaPVuF+s8LqOo&9v>pNZ>(PqsU37z zcbM#LGNr%2McU&B>zr8`QqwW)AKavn|1oo^p0e#pWFM^NUhlpGbDP1;(!s-zYZTgGRnaN%7z3Syf_8qn`oZn77`kG>pBYH~e z6kvtEeiaAk;=3p(w}kF+s8ZQOeOs_NU_~bk*W43#hRfi@s?x-)`Gq&Yi2f$ky>Qy? z#$Mv~z^F~9m%*b}DX^&`CliSe+g(>|jV1xjV)m9d7hLBg5PKyKqZyrbK8EuE)q5t$ z@b7G@(Jy}+y=g!hT_uO^R6NH(X~t`_GnSX?G(d-X#LhfUvx~|%2Qbb2A+utB-l#(! zgPZdSFJSvZuk;m^D7=57=vj?fFT*bLHFy`WcmjE3EiCP`JA~)8d1wGl3=aqLWcMk5 zZqp%ApbK!&nB~8-YCRLG>#y^8&BW29@Og4v&Lpnn1n50WzA*i~AW8LDW)%NcTE*M` zppT<+r2KLKPa?Dv&eD7h;<28v2+cCv|d zgEvzbiYVuR$0JBF^*nOKt{MLz(6Sj|Lm0pkZsNvi*Hfkoh{QuSsN?@+`NrJ!GwS0L z6vK901`A)7i&JJ8j+nwS`$*_=@-s zhxE#eN8`*?w-!$SN44k!7A>zHqWQ7+^1Xlq^bF+1n>$>{l+aoYnEdVtJ2>S-#JcT& zwKyBYVT{MAeutJ^oc&AB);|xBscU#sk!B{oo`z^{7ua&~8TK-s{jH&X@r2k}wH6}T zmphcUzM(kK+7tRWfGcxUUozs6=D24-MtfK|4N^h#To3P_j>VyxZZac)mC(ZLf(%#* ze8!F;n8>lpbzKSIyMQo)2Mn@yWr@?_*=DRym?mNCyR5!6C*TF0=T$Gilm`(V@je>e zHHCDCaT5>r^ktiDsUS0#$Y!c`>Fp8rx8mv zrKG`R4Vgv0j$@FWTF=7=Sg(@0W#$}z317`j1P+QWf(5Kb!hbY+TP@d1%4+_oZH%3U zSe!wGE{)7gtPy^8CseH~s14AiBwO`_zJod&d%GQ|IP`8To`R!oV^n4VVNIJzlo7bx ztF}QxOGf5-a>^C)wh@HnqFRnxAj$a1Pj>r(NwPa&C2ZD z1c~oB9qlZ*%2GYweRfffTK}ai-bw!v{?yqT0pXl0iK}bP$l9{%7Z756@Yfthl5c6p zBDqw}CjOavDUIK)>VqJ7Z%}fAKZl3zazINGM)G*iA?4)@M;I5$u$DU@`6DE1L!#JY zap@AiVX*_@Lu}3r5fn0?# z8d30lT0Tp#m(_gZMJOqTUr}r$w*kV;nhV4f=SE3mkqoDBcjO{tf)R21c-6%ab{(ep z21!_aFlxXCOn1P8+&nby_PXGMO8;&x98FRTgnFonDmQ_HYu zCKodF{7~*PLJXzU<1_u=+0eCOpnNC-p8|6EdyIuqH5xrv31-xd1eUqru@PhBu4eL%bVyPbWY)+xmVXZ|a}n9x_W^qm)` zoqVSHpm9$EwB|t{at&<6lc| znGD1m`tulWxeb=TR>L!ir9>Dqsc%|3PpNEZAN+2hqEu)(ZYGq>=T2(i! zueH-Ss=3L<^RA=1Zu#&+CVu>LwJruy_BH3ag`HZ+uSj zjbwdO08(DbP`8qc~XC5ey#s< zcAr=ZT|=haa*!isBuMSg2#DPcH7|2h--Aw9K!%Fkd75NuQod=La*YQ0((E|acO?-a z$%oa3wI*76mAt}zDr!x`w>8z53Q+7XQMV8)1)E;zWB4F300F5GTn$-54jQ#jWhue0 zaSx-sjXx$Otub9@BO;N8I#bH(E8xL6?a!VzB@HdT_&k1e8Qhv0kPnq5jQ3)_0MS45 zMsmsA>b;oK3=b4fHf6v1U~CN1VQZMGav^C(l$`3O`Rc`^{P2G6Nquw}M^9b)SSKe`s-mh`+RtbD3|m zXy26k8Z*3QpM5pRhj$+z&t+%uv9-3TZxD~O<;Z6GbGEuW21vyJPf_qDU2)NE6)NI7 z^*luFv6T!Y^%6}SQrgKKB7r3JU*C0E&wKdi5 zH;A}=7UMq`!D6S@5==E#RiQnH&e55f1xM`1kH*<+0pq`EGcXHYp=N*uL{ zBDDNpzg8R+yh%>-hSr_yZ!EO?wcCdYw772+0`~tr`1R5sm~sSciVvrvz^%XUoHU03 zGZ=bMY!_@^rh02yb0jbuC z0nsi)cIP!oXN|OLj5ZBPJ|VtB5*A9EWQgg$ma3s`?6uXG^`)m7>2RtUj zZM@ipr$w~mq4y4nVB<68<^l@24wpFgTPQ^6-b5%R-KME1KQQVQUGmia%g=ODu8A<{ zNf~eU)eJ-enr~Jp;P|Pa1Nb{TS5rp=n_nx#SXf@v64$|>9K6QqT6KO0-Jpd_vy6aW zTO`ST67xkndEH^$d0Ykedr~_4j{N;|-Y!^dzT|LS&NBu$^?H_){{!d9dE*EU=D5)C zZ0faQ7|yHunKe!_%)+-!@QnN8_0;VwC=QU(hnKz&k$SAGZCbm{^oJ&5BN@P>wStF$GZGEjs%i)rP4 zcU|{$ON10dS|;GWel5#AbJ3=d8e(B||8H`Ojww0z*+re8{nx?abqr_E;N7JWYY2MQ zGnqtplquG`0C&ZCg@w!w505z^ncXzb&^r} zUvo3rm?QrxX|JpBiOnL*Ue%_DrPsS!I`Af)-tGjw_^v5{e8?aXN`RBJ_=+9}&-72j zdpK2(G?1GTQK+2*8JfDSUg$(oBzgC7&TtzA)_*2)KKh=rk13)-c}CZ5NKb=-&(#bl@_4(kAl4?s`xLn}vU80umr5qcj0=o{RJ!>s z-vQgKnqLCNE8UcXX(biM&&##Ie|Dpa8r5Y_^LHSv*I?Zjl_U5RNL)3t(q=X0p}ETS zVW4nEZNAeh;p7U=?Sdun;nYF*OO!-dt!ABGN>z1p!v3o!5cI~Rk7se_EZ9_Ni0O$z zNAAZTHbZKbR048L+~XxuxX5wdi6szF#B0_l?|rSkxMu6RDDnp1li{@7Y+$=CGN~l} zvsTZRXM(b1Ek|g@5Q?UPoyPqF`zF_mqlQn7#2xpGcg8Kvzt!Unmu5w7jEnmfUnJyy zOKs3{n;|NaOZjt`%`OSbo$3qRz7I*{@8o*St%$@^@@j&nc=b=oG@@0)^d+AOVRvL! z;C}g*GL>uNFMUhAg6P1`#@}6U$52~r_TDd1N|WH|WD&_Kz0Rg&gO>c<96=O_xHw3n zJ&%DKk)QkbNIy{)}f#(^v z0gRuhImG~B{9|iVecxnZQ!VTm(bJ{@HAp*Z_XFNY4SFx+(NzDw`Dq2A@-vxJ@Y`r-Uy81SL3=pDQ%to?jLD*D zT#M0Rdpp`>Oc|=k&1Cl<%oIOZ=&;CJHa(kfZaTL7{eb?V91YYea$=#ZB%#(H?nQ~z zp7qLA4vSqVD!?kiii(`JJTsNl_A9U10vFRBUH8|)AdP2Bu{4|*i^YkQ2F%zxY zM>dhT!`tp`gROi+v+q_D+aq~RGn=eoFfCpjAM4fg)Y6gLLN$t2B3oI9Jvvl@UuvFW zvi$K3tu|BCK8Yb#gP_$q_>i$F4y}M)HGTd7#N%G#vf!yI!M5rLrRi7gW+9!>_X|D0 zW=?+pMU!d5q;-Tz`hSDxe!K1BvTR@(4E;U2idkjmKI0|jx56=f%Pi$`^rJK~+Veh4 zw=ELo15Uo1xBCIVlsELpZDAb6@-(jD=}PCT&jkjXYby11_Nk}qXPi&n*LUa>{huXQpPC{n)@np4FAr9}+F_zDmV;jjIfhh3MQIUTXKsnB~Ad=H;E#I#6 zaB$y^wbihRG;K(qOU+r z9DgVJQpwL@z`Wj%^{ogpt#m&g5@zr+hHgCchal;JK zvN_yByUO*}*%ullplEMvd$t3I5_`KHf8gg`%F*Zx;Uzel`;8|yZTZX_n^dge%RL?> z!@nif=UKCvlNn}ExnmfSld&E?QKG*3@?!=*RQ==5lY<4F7rq zx!f|eA@ke4Zep||6x@`+A~^ty?>-r3(OGrOziRzTe?voKDPwwCUUI!pZbBtWZRt1v z%CCREsn{+4q*$$Tl`07Q;q^VAAnHln{Q~8#i_Ish`1Y?&s6$0|6R#*cgMvq8gQm5g z#~eie*bd!oZW8E$wS~Ng`wO&bxCa9=Cu1t`73J)S=0>;g2D|*?VP(vw_NY95;mps! zD^wOZf47gU7IJ%k({nq(5^Bv->o*{T7kQe2^QD1hr~rp8>-$k-xZnAgO1U^V(v%{t zJ1_5PJos;Sk!cGmPtXa#$aVrIC<9Po>6QMaKu^LFP?rq4^z0b1M4XK?Tu-$OTRLKH zs7$*^Q0~rtq8_vI{j@Smu$ZNnHDC6af=|FQj@_H`7Ub#!e){{gZyHFRB4{Ou_+7zZ z6=Sun7lW-%mXCC_(cVZK%9hh?r816*-=cq)gC-NpYxbly6y=s2Vs~~p?P#Vuh)hRh zKs0nScwZ|ZA>~*^WoTp)AE!@rw1hW_OPkoP{OdH_5dH9hM$|gY*J_6L4W2^?rQS3i@ zolBlrrsTO=O1mYKMJ}pnuMK>W-0`aAMtvcO77&+JQ4MOzg58!4EvIED+kRPb*^s?> zDMdr#N|#p*wuNg`n%P6(e`Z93c3&D}GbM#bX`}|JQaNPs>se^Hi!V5H;V8*9-EJj9HM9pIZpf7n$4*0=Jw?;9iuAr`y=Ta`SoVA?&={;8|t#g~@7D4-4hR=r1 zbJSQ)r4Hy^O(gY-?*zuR%zXEWZsC!RR=&EJmralmJjon^Ed8_ z{B_6Fri^PTLDl$h*GjXF_?udh>@Qrp4*8|QuaGCFj@`}NhN%KS=)AyfAC9(iUazi* z7vb^V@zTcW1IHPQfS^i{5gz@}>rAE&bH7{o+{y6ajy*7l&-Hy3{%Gzuzndmn#cvDX zufFHP05~I^NL7pI7Ox1FaZU%hL`mHz;4C#Ktw#B-EaxHKQ=6`15G2$hBdf57qA6Kw zIv|k_-{klE2Prp6$uiQd-*GIbf=eq!;CnhmK@NVN2pQn<$IuEH$E9yRK8<;J7nY&_ zN1H)^v{jVhlVPs1Qz)uq)mBZ-@JfVszAFWtFiDfksh`AZxPRXZTQ5^V6&mlG>X_Ba zX zzkKRi+Sr?Z|Neg5YN$3y_9`Ib7R2L_wKQ|{JSeU_H$3%6stEyhBEM+F^tN*x?H93}S(uRWG0Xv(JS6d8u!TM#Y@$t!o}ZxO!FC&aXBH}IE+p?3K1 zrDRqHlJGUkb1sMh=S;36^QNmA=C|LQ{;GXZE3tpF+LufXgO_o&uPdzS=+_+cgVx2vEJb}3^H(O zacPm;!&R;C4y!hFIp2RCwK1rRj#mPlwE+oIGA~v z-@vlRS{(tC*{2;~I9j8r6{eOXxyC+x)UZV+2H(B4pyN*D_F@O(ZuHxy4R%t^x7wqx z)nF-o_4Sut8@h(R&JUgF%!xno&bLM?AtRx;e?Y56i|dKqD62sWX}2XTh-=rsuVdZa zH)88Zm-Kngn(`=MG_&MOEIf`lcTqJkceTEq^d?8TR2v%m!VD0~JtSd|k4u-m^AH^t zWd1m8it&s(e(m7^>qT!hkXbtxrFs4`KX~?cM2^mGYz!f`(%P*sWd|`n_N;xFuGx#j z`7x*&27!F0%++BvWfZ@(khYVr51I4@3B!)pRPYeXIxz)Ff-GuyLIZQRIJfpRQ=I~t z_a4R8azsi(Y70;I@tWN8U|V`fdTk=H^Un|IwNl zVvFX~P9(ZwX5lKOrLgLs=rr$~5GTtQ?{1NfrLUd~q@k0`Q2*h}4{Zy1f>)ljR2pF& za6Nf8rZ7k?PQoWW-9q#`=!C5^VNd4TCdkTZkjqJyIx3BIS!h|ug_+I32Xnujfh*Kd zGp~U40EI^Z)YVx>&az=dm8fB%v0~bSsw)UMq29GWp8Wjn(?-`^=+*cb0^XlOE}l-# z=~{Z23Fu=;%Bp9f83x@;mChr!ry0ar)lwQ>TED!4f`MmE z=C>l|(Wr?{TRG`?k_-uqF_!@+hwN9xoPvvt?HImRH-jMuT%GOuE($efML8a<6%iXk z{+>_6z`AY1uXznfa-PI&7ryNJO{7#ET@xDXd52Q14tz`m>;2Qav6JHiI#1wf`pW66 z&Q^F#**drS?_&`<=|y??;@U$_frM+jx&K+luN7SDB@+uwxoyKn>q+LXnTL%cTmJb^^3{<3(TLcGxh-L!15*#_D|WlsX1; z?oCcthM@80U<}g{NIXp?3i5HfqGfP=@;vxx^jm&M9qg4-{^OFvV@59j-jV+Ebd(;h-i|Cgigo;WQ-%rylEjmWR}T~0A!_9+n3*+X zKk}5~i~IzkE|VHc2O$;?q?ODH~;5ryiF9F$fu~ak1X8?}dfpN#_vc2C^6Oa4+pOPG7iSaJ@Q00l=649)<*DU{2Yg3Az zp(?HgMneX8s*Ip!Z_dAPI4i6l6Hl7W?wn3+iNXWct3Yo~P>o`w8!4d5orY#oQQUGE!2!k-D~;zu^uJ{8;(`<+ejDr$^-aM6T>Z}`x(@{0Zh$?22eo=QceXuE^n_tt4Ezc`DDzv)qFB!hr%QW2L=BjZ*pHweZ{rJq|T>E**C_J6$yeHq5j*P%wq_QZ{t4~SXklxWq z`8g$~pz<$P(zk!6Y)s$A+Oq;&!oSbC0}50PX2cY6b4uxP&zy>rcP7%pz3GXDSR7?7zTLXAAd3jol~sNBQTf z&Te?aedTRer0nT%94VIFmQ#f zW5x-dwm{t4Ha@*M7B~`_X=(lyzn{*VVok+HlvD2+T@q%-6W?H#Z^Cg!Y9!0Rq}mh9 z{hX`kxsi@S#Y;422^8kIJ8l!{4~~j)XpGQed;!rTy)YJedF9Rg&&q@k2579~K@oy7 z)H>STiY5JT^TJ8$2hF1?xw0_gqDZ*BTbT+hQC>{N^obkH5~}T?+#y?(Fo9O*LA@Pe ziiw-Z$b}bCZ7&C|3jSa|D9RPP87PMs!MQDtP{$Y|-wtH$1!N(us+I_SY=X?2@H4N; zpNyQUQN(;el) zPVPCKPa=|)6eV)mnPJ%lEbU;QL37~u>UgF04NHhal$OAi!q%c~%+x|2^$pxp%zSo=KbJzF!{h&9EW-R=sgto%N{70*3JAtal!56oNfgj8Ur*SuZw1&bgk9 zJrthz{xybY2+&L?hfh3ZTX_+ly>8O_f&`?zuyn1oCf|+56u^qBgN-p1Mx81Q8SRTg5vg5Usn=aa2}%F=*_>4eA9?fbc^tQ;{#)+GxnOA}bI+QN?hPMO{JH7F%1hwXqiWSx~K59nB%;`n%YG zO>0(;_rrh7y92zXm(%7!6ElJC%I)e#;?Nmm^vFGkQYRi*f9t4n%>qo4{Ase5f7+*V z_;?s2*5}CJw(+>LBkDoP{td~@SjR@grFA9LHm2mN14}3Bq~$?~V+qGqYcL^@s(~(!}Esj#Z0* zDZW{A2Pkx#t*(EC0uJg<+of^xZ?_)ex_Z7{WcIyh-wNX~JbP_EAV0*i?(DPH)JM5hs%r@ zZ@xRBN#UfB>mxF_d`hqTK3##uI`D$=iRL-MmugyPQ)*X%h*_IR_46-Y^!netRKuOB zNNZAqBc2cYbK&awK6stbKblBic)iJ^`6aJ_+!I9^x1-G8cOiQ@#Q;#~=oFKdb-9<> zR!YYas*HonwI!133!kZAm-z=cc4s~7P6gYl&`FjVPsV;8*90!3IlPl3E}CtVe~^ut zDH~~j`yPl0ek6SF9MF)g$lg)eHHC zMop%U^Q<6y)^oYfhH{7UwNbKp{0jXLjWM%a3h|Z`B0&rpD2L z(vbYz`V}5E>v;%kNqEhWGnZM=W>8~@F(m{O)yOz-`?34*#Ff%4ryU;>%8B{I#7(#Y z2~?p?#+g9^QC8i`?drIcBRRUUTVctG6eP3a=}20%b=FdUZWxSaRN!hfKrgy+<0e6< zvLR{+vkfV#^sCGtv)t)%3hUTf@PGklnw{Zb!MQZB!^;5Vys{~pw^5wu;kX)|yG)zp zJEdFqOUCiwZGvia+yL2wT}2p+3>9iWA%j+DfI1;lN@8~CrUeQMB@^MKlW?p_XJw5U zibOV@|8|p{S!3oHi!KgIRgQleDt@`U>X)9zxv}YR*f{pP(;p(orwKUp zO)HY34Vv1Ib^hpvk&_3b6F1LTzT$#uX`VYDl3pp92w_joqmmh5jaBkJ9fWD_ZDV@T z+|pao2R4jH8)dD6&7!q`Fn!IV&g)i4ti+YGoKI!s_${WqvC5N16tX73(vLZ0Ta>2Y z#wz*UvPaK+QFoU2WlV=!6H^45rR_|hdt||&op^FLXtPl1U}`3fYD!-g(1rJXbNh)$ zR@Q|r)T!QWQt=|lZQ#As+rfaR(7UGX2K+PEz_W?HMwdCmPW>1Y>|rJO3R(2W>>hS2+pIi1TeNOEQJAZy-VjoUIs=hpj zZ6(eL9!%(<4Z+Z%Si^6C#uaJtTe8`pM1R+{Y8%{HW^)zDNs!Y)O9$G2`E};u#?Xy5 zegi1uPQzr!SW{%_hec5Br_#XtA5;i{Zd8*1m~E#XQiNCegk~W18g~Ykt&B?I^i>Uu zC!uf+^B*GAt>Mas?f(2~C{gb@?u~)H3Z?v3B@VO6B6h!eV!~zBGde3$G|9R?B&$Yx zSPIo!Qg3;pSHe23=LgQua&n8M-p=;ev#HwnJZh>nmTQ~DQ;rd4UW}`}#SQKxhTso! zRrke#=SfCi*UhwIpR&wI+SpiCw3W~f>+d5~tT)#Ctl%GQV?%|0{&~N?OiyBb8xwb~ zZJ_hSl8=OmHYe^bs|1}?APDIf7pNdK7LQ|9dtyp#o45j<_tRb$eX|e@?j~Wl3}lXS z#30%tRJYn(R2GM`1P#?*4W(E1$8Hd;pT~rc3U)%Z`RTjI7GApJEnUY-vskpVKv&s} zn5PakYDKO024H>{B~QyHPg?z(9FmrI(hfNAM&buY8kQsGo<+XcALuP?kqaE-sH=TR z6AiAVu|nT$U*P{g3t+ki$`ay;`fY0(5A~rP-8#HTY@5RLq#K;1Lgdg4N-U8HWY@_1W_JeBS#Br=i>qW7w-l@Lc=yY+}Qg) zV^|N$o6STbEjF&Gk`;fXnd@t4?b=*4%8rFm1}yB?7KDdgl%;aPNr?z~xxH*Ee9M#7DqXJgn-owawUNDSX zZSpiAY@Fu<#K&@!yAGc|xC-=X?6HKLFGbxIX$YgL(wl3O{xE+!4*fp8t@xOlF$z%u ze#7}iX^XW#{U98E)0S&^7cdBpO2?xRmRBswy}m|Cc?8I3VxCZ;-I}}4eVi)~a$frm z&-Bw}aX4h+xoC?srwM%K5E|vmcow7@hcg#TBZ#h9in(>l9kTWIaa59M=l>(>E!g5} znyzi!-6c2#4VvKY4#5fT9w2y-!QGwU7Th)1;2xZy!QI_w=9^si^B&(X*u8squd3?Z zwNBZ`q7g3U;oC|0kEnR#KblI)&TnZf5Z~r5IeMACQ{+VP#@+!&+$P9aEmQFsVAw~| z`y)RKCjr(!?ONSqVzSnsoztm5KTW}ib%uJqH0l}Dv3XaneqeQaSl)HqPqr!EC>Rit z_6~}sMdQYE-CsK79OV ztp^Q*ZmWhecmlg?)7n&#tGU%6#pq~VV=b#1#KACrTOpyp0As(-twAw7=@)@(yiEQv z7;0vYI;AAI{RDM)1i^;treZ?!Q)Mn}aa%ycPBRz`xh{L38+Z+^G|x z+*0Ft8Q$^FvVsN5cPVe1v0#~{NM1*|7dcR<=kdEw31kye_R;twg5LS46ejFuC(?%s zxyC1a_hP1Iai%9u=N$MEH&QaYrgOT0$4o&o29mVrHJ_&QaCFt?TX2k0e&pEgYLMNA zik={!ooyOua|g48zAIu^q$pA5vlU1a2_Gk^bPn+w1#GLP?=4M zz;@{BqCT~*T+)lYISN6GJ-hAZo63Bcxoq{9#U#|RjsxnZ06x5HGru#1Hj1tuyim%y zPCX?(Jl%N6Pb`E#e&@QV#)9`5wvPQ2QjJToqne%&;!T-Gi$MLCPS4m2X+w9nwrbry z$xkaiqwsuunTWsg7hOgu4!bU4H%!;teieSaSYXB5Gs#>sKvod~J!k~a`3_d0TBR4i zDPWECXv&)D^R8lUvx|4?Sl+t~elhsc&_#LK1b;zzmxfF)`$M&w1g%Yo)mQpgyM}RdwNI*ocJrA}IAS{ilNt66WlVUsvWHa72 zl?w}-i4yGFpJJg%k5MEp(}U>Muf1cFQEuf#d}~8CF|+}E>AHS#7_s=d%zDt1Pqg@!jR5B1XGzy13FWl)EH)uO|_t)OY>&F%1g> zMp|yOQT;;g$SOnQNi?3@2>}UXj0^tmW6&ct*ORs4cq zbY)Ou424|JVB)tgT%&K-CL1x@iW@(8?D%+n&l2ayvkbpwHe@V0_rDMDmdk>dN+cZ+ zO7g^bkd1^F8n=&c<)i_o0*H~a$m=UebVF!G1h<+2GRroFIPjR{oSkbTEil3xOV2&3a=<^i>7#j)Khx2l+$d=(ilEby8)JAQ^rZsqmR4>lqxW*Ku zXD|;5vpGp~k0Y!b0jtlJ1H$T$+Q9cKo;PP>w&I;}=UY_iwF7tpY=y%peA$m|f?m|6 zRx{IebxkSPweN*~uH$x~k;mrznzl6k=2x=)fc*E}fd%p%sWORRgfUt(2G-Qujj1~8;>;(ziauq;427i>n!T|UYFgM1b4>gLOh37k)V zM&JAJ<(3pI`nd!O(Pirdax-+}KouF%tEVj*p6X_TTwQ(*hNJcyk#l5Y<5Gsfnj?f; zBfEH#IkQr>EFRAtDslbzI!a3@&?&l^#Bj)Y!+3Y5m0(qgycGepkuy`4u{6z++Aker zqW9c668TaUzEqlo;2vkPV{}Xk!(V(Xbt#b8t%g8a?KR?KZ1g_hKFV!>ISJy}ImqcXv$b?C?kz&(K(iY-fM7s3(S<0Qmc}T2l)(WD6s$*58z)cOvBrJ2b8# z+s(zVQQ7O4sQuj$J7so$l5>!aqy!DX=e0kZ!y{SnnX4fL_*mfx{*6%X9j;QI-jgSt z3GD#C+{wISc3UXioVDinA0?`5Wm{3VA$CiVO%!kH4ao5abu+FAH9Qkl=O5kj6afb| zP*bk$M_^NuI99EfH{9w&{Wt}WnzQyMrVGlEv0d}2&e75}E_o`+HXTNk1?L*2{8k!} zmw)`u6gVh*nhBu{Z4|ZGM2(akh{HHX|6*Zwd1=&)*T}KJ`iX9Kg-DaXVjk0+^la(6 zjG^j$wJAREFQV5dPRD^KndhZ(a{!&X#LFI)eo>q|7&XFW5il*})-~`z%oFDO1GLy^ z!;Jjv022|HLA-B^qZ0coH4MRb&SZi@VyM3jy6RH_hGM0(B1#RMaGAiINN07S2}d zWRXVqpcdk9%sKNma?g1g0EEL!zcX(Cl$w>sNm=c~|nMXmiPfUBm zEZ8Pi`FRkj&WF^^m2nl0o!l_e)~~nRj+P!ZvMG@V`z_PvZNDMCkBd469{ZeKCc5S( zzd*EF-}k6Kb@y1M7zOMtogIt-9n`9gs0H`z{7>;-H~!|gVpBpGvVltsoS`*4&_=z- zwVjtTC-;4NYwlD=D<%CwI^nJUftW1LRI%OGD0M+;0l0L`%e3;#QxnTC`w4zRb?q1L zL27puW{G?V65YpbH*yw>#tHi)bCA)|`1^e2#@exm^0{aHb8hlWgM9y$TG0#YP8=bM zx^+XF2vsr*fPT~L$;@$eUo5@d+sO0C>fu-a(H_6sZs)4&GRiN88uH=?JpT%W1pb+0ac%HFcMd|kkR z4M#ChmDe(&H*q!5L?t6;)m-&u(V{^$+tya?8W1#NcVeqXVH`61jP<(qdPT{ZlWCJ) zH-aJlC*TVF{P4)Pi7dOG=>ngv-Gceho2>mHa<((JfAUuA$`C-+b*(e`u?>1A`5uzY z$RVuf(owJ-6=8X{{S~m1^&xb3&2n?_Vsf*;jg!h)2i+!-Q{=|x`6wZZAWXBJ!QL}H z`>JQ-1C{8aj$?IGg?B{4WsTA68gc_c2aC1Lw^;0WG}H=+G|_mz6>%g^%PD%Gk;(VS zo2-)}%Rr@v49S8)m-<*euyY86VO>0b5AtwCm9gCFv_gxjbZW<8q5^^4M@BP#AA&e7 z*yj)=(&dfmX)XridFWnEt#9?3Kpv&dg7~l-k=JLQ8QWcNmSW_xrR>*@a2dV<%JhG; z0k%1Jd-WK7v_YEju!wR*HZES14y|?yEaHfXQKd2YK2?@r$P?=$?s5mb$C+~t+vd?* z^@UxnGBNUG(P8-7l2sgG`W`?3cZpMcGcDOHqc*Ld$V&+V^&BG`$eAzRFOVu$g$nS< z*a^#;tU64+LtFi};=Jy1W;0_C^tnS^ky6WVXvsD>6MFi34eZ{PZ??ev&iEsD(aPH@ zto%6agL z=0|u@N+HlD=3Ol-bTA|?uHmYup?Em)!)nUuh0premo0ry^l>lL z^cb~)*lT;gi6;?=2l>-rqt8K%tVVe9bEvqaen%`b-Fids6WzNxen{627J`X31g6$f zd0&MnDl(RPb>vK~FBZKHHiIj|G9|%swGM680!K1ZqgoX&P6I^+3m(=2g$rqtW?62U z?nD1GXlhREzWY%Sck8}d1_N0sf{ienWSvAGBWOw+lJ!-S*ZY`~GawWAEH=a%EhpUa`w z<+(p{4Q__8yv1DEhOUVp>;e$tgbWcK9Y3{N{#>-=qD^>Y_`_@A7WC8Rd0VNL1GFXP6!@b~$;4{Qw39F%nHDcvP zMo+RxV_;t;9VocqqZc_c7Oc+yCJ-92)usr+18vkm;6H zg57+eFo-<=2%r%hhMeqDw|!lZF+N*m20lEW#X` zvRMn(@q?*_AVO_=h-9{cjMCM~SkhgpS=KoA^+_Ys?1Ez(5eyEeGeLUBm{#nj91tkh_Y9|B!0u5nQKSIjR-XjAg3*(Xa8{A|MA5=xGJ!-Z@fkL?+4wI zY1#r?!9=y5rlDMk5z~-9dp{vJQY4D>r9TG5WO>}7f3K68&Z12=;N_4vDTbB%HTcz7 zxnzK)xR=8;*f~M@k<-p+ajLf=-d?SQ;cnvv8osVdRn{m^&!thzIaY=;T%NUG+dh3T zYOTepi!az+jk^?99VtsU*4vDQ)d1*DU!89rFETvL4a@rRWUAtnqGvS<_jV$iVq?r~ zSB-v3)9>^0v^j6Ea=11cS2SoW#e7wA@r2uiALfgWD8SU~A^bKJi)d3PXHi4~3NVOR ziF+0GPoe-N@GXm`jBE>~rLEf9AbKVbFFiF2MmPJO)uq_P^JmZ1d$ugr^$SHxV0XPe zw>!O--7G15VO|mXX$fISccSk%S2{OQC$3OP03(91Ux-@D#7<1^_bPOF9lf^(9i-TN zJfEMw+6naJ3X$?8>^6+e&#iuFEvkSw!H|eU5J%O4D3eZ34{ERE0`$LXhp=2RH>p)o>bJ?gO>TNSF7uIkW?0*yA}M5_l2?;dne$QuWY*Uca*|Nk zS(F-4OjoID%L~IyV@I})UFw;=`MzH!5iVETR}rS0rIUMFJ6gf&$arj5F)R;aKcwfk zk)xUfz^#^+l9U*A{X%WUp)&1X(z1>x3ss??%}cvAm{?vQYW1gG?W*ClovvAn{@us@ zCs_ESxs?^s^Jv*L+p`-VlB`fOw}YgL!0PfhzrO`ze+JYx19_Q378PtLIZ^ZT``fk~ zQpC;=^!(_ae|cm(9a~R65WC33%?&?BKFY3%R(8x?7`Ky!tb{%J87I})Z7Fj&x{>lW zuuZShyZ^{2?9y4V$e_A&>bPdvBWPxx;Qgf6)}tB%H{u}nX36u&Ug`7`>#34{iFBv< zkLfbJlk~v2_MiIi&#gDa7NBMDRQr{^`vDEFVtoHTW)}+!gRL7;AGR;TI*(yF)!G&$xMX zVW04%)UM#3o8MpLdh`!s`|}gNX=1)p)%QT6h_v&LtPy?*T(V{#{2l+kw8;Hhv>&Of zJh6nef?92#Lh8J!?5%F@TpoO0j-U&&?n%??=uajxiC=`ba1Wqvk)i8XPFe7M$E8fgbitNaBvh61WpjeX?g?x zh%I6@zHiV7-%0%;6;CtXrVGIbZM2AW(?Gb+-fs4(SoDm$zlB+3rs8^H&i5K#43@Ue zs&bJHhO`d_pA$_a2eG;B2X$&rL8prkTLUHpiJ z`7%TIGojw$s%ByoP(sBD-ep}nbra2L*iIJk7eosAnFPUOQ|P?C;W@Y9`)e~@v%a$r z(^<)27dl-weKY?$<_O5?StGEF+sDr40BMqqlWdzuF^X;>Zxp@RsFerBV#_?W%I!f` zK9QeQnuzReW)3GiLEvBvdUOlb@QQ+zIQ^XBJUk(vj^4oYaXN-U`o8K#qq`(mQ?=$RU0mpJqa{;u&^%a2?T7XLKtzhe+o->K z?D-jo&E?+o{))*G`7#y5zBkZrUaM{2| zZy^g{MG%rg@ca4XkE-ZI?5){(Mqf9-FL6E8Am1}G+W(ft9eDy=H)OYq_b zI5LU?A1*8$-y@-#jiPK{7lJGV=Ig>r*TZ|nTv|Kk*+DDaeyWp56|ZrjX)ur-vPCm8@A<}8YaA~zrmc#0_ki#k zVl_?hZjc=9^ZSr6SYGCN??K-n8HWjR9X1Gd0R}xmKzr#~>CB)!za57Joow(0oWE7h zlM9X*3wCbFO)ZPX$m8=TNW`PJuAQ{(3Y@-`!Y8)(w_Tj?KB2<2!&6QR<%_h1;$c{Y z$o~bR`Ckx?SlQv`R=92J_KJ_H|wpgQzK8saJolW?4goW-nucABt; z*m{AAfcI-R)~p{;2vkZhXmd0_!Nwx*Y9 zNN=m2=w%9i3gan@Wa-Y>48Ls^tfeR|t##G{e}90BbU9SG*ij-I?7O_V!N+QLOX^X- z4Gp=x{zk-|4;Z(VyZfan@QItUWLi#eT+q-C7e}bH-YatJnZ{4-k%Gh3dhQ&cjMw0* zYk8nK{jn#NLM|B|LNB9yJt`0y>5T}gM=#TSXu5*?bIx(odowL$90OrYcdGX?2Cx<+ z<#7|q`3;K9xIBIjc-5bFk0mYddbk2&`ZqSfgXo$|q`Dk4Zk`fe+UTB@e#<8vn{QlA z(kUtn6yY#G3BQc%VkN6ls&Sqqa_)dXJc_|V=y#EMh8W)@dGSH?kiSKM1!tzerz<9v zj&1K$mzJH*^0kP0vPe+;AMg3r04Co$az)+ntmC?!o<`%^RwnfHZ@X84%b3_7v_8=j zy`K;27@n(@K73}B?{wFs;GO?YDl~n2n^BHa2wM3J$^aGr-sadU`~d3AzIZ%{_LTT+ zJR;wO{=8#qO_R=XIFHRl5b7$tvbR*qK^{l{_2Xa!3)hAGtiS-~Gj+8M{B-Q(GO;rx zWwNmOuRe-vE#$npPETZj+k6c#A?J-EX-#ZQA`UqzMk`)a2%H4QI;$Jc5BbRjaGn8w z-2{7+{-a+muSlIa_ZjOwRQFTINLXm43m0-~O{LQAl;eN@$$7;_D&PBAS+S)5e&=C_ zHbCt(HFR@Uv$ht)IT>7W`3$dFsbMNE{Y+0dd1D|!&g;!=-)8QPSAoMV-ob(jmq^Vd zsDIdw>}scu+O{WgLi{9GA{Aj0(u5 zH?v|d6|S>p?N`@QgAN^ENqcN-15v%R4v<>(8F&!;1JqqM;T%yr*EYu=H1}Kbq{3a5dBB*Jl67c3oj2oq{1W2Q60IZ8(4&S{|%jJf7N)^1zMLb z)(!tOm?XIW(gSnxk_f(Z1WkNfkf7V!LnYf$${nL>-@#VaNGg$S7Ddq<7-a1wp@8Y{ zrq1d`9JGD+1KUoLJQ^0y0&h^Cx5@ zF~1nK`DnhAKOKu70E>eVyNw{+HC@I5&ccc4^#+n3^Kj^d$Jc!mpXmy6s%10mOkjV$P^EuDMY21_ zEdUd4;X5PBFtq-HmD-cpC%e-0p`}R)+d;${DGf$aogJ~6Z+yZ{EN~7Ny^V-1h%=Ri zH{R&MeW8z*?(F~fIrnFB>&HpEOo;b^LdPQ-MGG5PFAEH8KNg@j!6Zs?S(Mh@DvVLq zxcu1}_JVlA`l(p?sje9*WHa59btPGXV4#lOZ1l`%7~j6xDHW~Ty8A-tT7bT(kiN8V z4cNSvkAG~iwBw8iz&rsX55)eQ?uHGe(8H7w-?p4?Lbl!t6Ad;oCuaapX2Vcq`SpGR zpPJZ$N4?Y+AxFTV3#0*3X9eLV?YcZeWD0-PdX0cnheUd2`0S-w;q6T$18w->uGg2& z)xs4g-ZW=|guV^qa198-dM9rBqDgWR%@9OR(NGeTu96__m+XlvJ*AGDd8P$08Y?Dr zrX+ottm0sx{uF*cgIxl`yD5=Ge>>dUVi;p{c6*|mN;SX=|43U0L#%+Ubmv74s2K`y z7|#!*8#|n!GV4@=mc3BLtO2}*VkJ<%P9PryZ&VlA-nbN8TqpkO_n*p?p~iMoS0gu1 z#PbrT#o(F=c~>|^xy=b}+kw;`=Wm3ha9=NoyCFS|V zPq#C2ye++UwnydQX8?T<+)-1GfLzaQEq21{l4X9(7vM^O7N0%pqTFh5;5)TW3215@ z#0Y5(7ql}tbNu!28Eg4nNE-73Gjpj}BL!n11ZMYP+6D=w$j-vha?^I=sG1fwrC#mB zZM8R&w_y<#g{%TOBcWLz5t(J zmZGL(&J{s!6Y~Nse8QSw8!pJLVASX z9T0D*ZxcR>ew;!rffLTVXqNQ~gI|QmL5f4_$`dSx8YF?6JctL%O#(P*qL!d#eaF34 zy}3+ySz3F^KhpHo`{c8q<&pFWuk5cW;JXx9g`6*P%@7d}k{WdRg_=ekVS~>CA%K7X zjLJ#m%w#H@Yn-*Xx-)c?^NYN&cj~TLj${yrj;XLODg6tcTH@zqpcW(3$mywxuN2)~ zq{~xTPvz|S8d%PG0r2M&TG}GtES2{IWN{p5#p;Ro)1LlSin-+B@`F8Ojr`h&K2j5! z`=Ow=LDs0;kIaO(25ncc$SJsFL;5*InBu*@A9T`1-+H6U%wS+vz?KVL`k+-v5@2mJ z;}JZ?6T8xE{hk9HuSALWt?$r&rzw`i>|$e)J~%>8tY;H0o7S5jke+WvZ;nd& z^^=rJpJuV=ibbWanTey`%P;Ih>EAiTtYW!zQB97n*?Yj(`#O(#B8Q4iGV~aR;&13* zF2nlaG(noKG zhlFAC!!<~}4%9~`9GgcfxpBld5mM%#RPwH&?;9^^s?gpmb)M`HVU&0t^^;7kB>_&q zNVv@gzGgsVC(0M&*l}h-=~L<=Qq5!7vZbQUId%I4kZbzllD3{4a(eF2Sac=|K`P^n z`t~)#7o&m?)-F2U)Whm;gwGL0<`ulYzHEJ< zHR$}-{;9Z&X`+USgUn_u{-&tBzkz3;YToBt$@=e?j3eJdhG$KzPC1CY&1oaUpXem; zSHCYKagRM z=mll6+7rDW^2Id$6u_x)e^^W(PyY~?m&$od??@U)GAeX~AWB!j|mN=9eU$&#qakd8f6 z{Uj@ED*Apn@QLd^IS-W~t$e-#zld3?L4#5Q?nc~8XVL{6ib}UY*rEagf3RAVRx4V;o`1FsVOfX%8JGty ztXc39EDV|o9gWp%_#ITq2QOk4X$?^!q-UAWY7nziMz)Q>;Y{YG&)EW<)Ku6(U7@abKRtl*lOGYnJQUx203z zdLK^@%S4-}Ly3gHXG;R=}yQLqYJwwE%L)rwdL@)U*gsEIkLM(*$v+x|Ze_mL}0%}=z?NrB? zFNIQ}XbSETnp6*BqoZHzAgQ=u=2dC2F|jhhOw^wb*@Xm%I$A-C9^UE6U9uoL^+rgw zTBS;&EY6o|L;Eem5u`7#a=*9Gn&O8Kx_U4Xnvj?CgS*+g!Wn7?Vm2<_Jl+pC?4HDw z^zmI(F!_uZTJQSY@HMFgRvN8{9a$MIJ7Y#dI4@9VAU9 zd2+(iT$9b}bQ|8sjy+BVkcgs(`1y>G82iW{zO;j7jFKtug29Y03)HrRr*|;PfX_0e zX$B^u_}cA^?6sB@gIJ$)VpY|eD4s;i2*kwO@|ZxHuQ2a1M=$jO`yaoEM3z4^~oG^5t2_#{x<~1 zFLEtJ75^--yO4MZ-mYCBEYBvXArrLE`H50DznN3i)BTublITOYZ{5qNK2Gxo*m4Lkux2X zSinj-Vtkg;HAI<7C~)*sg-*qPV?av5S;J~!uK+2W*WJxSO*Jexqxus45* z^0J^(B}1m|p`*|U51NNeG~ySI7huV#!^AO7sM7wZi5$3^#EJ~YImyK>#Zv1+?h-8u z)AOT@N_dM$5*kqaZA0O%TjDBAH)pm#NdJE zf60U85_tdfA-^h4fyA*upI8Ce_aE0i1?)h92w(O*>dmLqw}ls)3l1wOw4MtnNsZJ6 z%`Rfm6F*BLwZI$J7E5BBO;*yK<&wZvrYLoVD&H}SD6*i;j$qu4Y9<5b#OkzWux+DG zR4M`gjP)mo=qW2eP^>!TmD0I02~!D_3X$|y2PIT+7VwUaD1-Shtxfm%qyEI#73JyB^KM}$|ffgkH7C#3$c3Vs#q8aqp z12O@WyYtVAp067AZ}|d*q#RV|$cJH83mFl7ed$#8om2zQQ_OGuof#Hh`U-!w z)UZ1O4w3+kcYj|~1ao{IOLh@7-cVH*pk@BQm0l`hno@|Xg?0Lrw3<#ke{Y$a-#Ho@{E^igf1hK zxU7%d$N4AeEcmD7tOTslEa(jXZKJOOZubl%8kLHTKmtj7fFaymA~d2!R>sr+Lr48v z!fkD-g)7P+D5@MX+PI~Uy38Kv^$`mtYBf-fQWSm2)T@K^=U*QI%@J>;dh+v*y*Rc3 zf?XV8eCmwg_^2X&o*d}wGJ=%u6W-IUQ1O+2%nX1MNeto^!1X*6&;z5Huzx5abPt;6 zd>qMt%ZctDIKw#?rsd3|hvdO+#n^TUMF}OIg??{?qJ%EC!sPg*ZV1>zx5sg%aB=9# zsfBqWbM*~(d8ks;lW2J2|C-51wEsJz`IjQhV*R7#INJl%@im~m2CyJBa598O0s6cS zaYp=?t#l|AYjzV#6Z+KuO4P0{vF>?fj6{DFJ5U0aI|10OG<9_3_?LF{cC^#27IRWc z?ib1anlWs7Qcf$b9db$F`WirpT~xIHzWmXC)A|(a4ZsGP+CUm7BXV;zfdKknY9FA%XHoTRLN>=Whn_m z!(`+pix}liRh%ggMh(w%Pp}bNPGiUXC9& zb*btY_@Ir}(dkW~Maw5!UJD<%-|gH3qbTX#_+kzfyB(ZjtC-fA4ixkBd^p;wPaAf z8}sp9+#c00O_rZ`oI7Uf?M&SRGJ0yz`trUYYVpTC6!nMKLcerHO%IjKl%;Mhh-9w9 z!$=LZvgRam^nFq~$7aAG-&g=6)dZd^gOMvE;?>nk-b3xx{T0Bv|Hx?P=SVdnSj);^ zkiX18ZP%xw1=s~Vp=Z=%?L11JySSH#Kc~1ZNHY5tA@EG_sQcG<^DC<;blW>^foc5o z|FpZ5QH%LVZBA@~Sb4?oohz810ni{pFHG*xrJ5DM{n?ZrZ_d)n_|D&}2yrGUot`d1S~9`+70 z|D`Q$30+A@%wOyW%WJm9>v8E%MM;=jpBqYy7kI*W7`ES5B%;v0G-Si?dI<_%bB{Vx znVRSU_Gu206Lcr&i|CIE5DgIeV%YbcwuP9d84ClFVuC4Z@c#V)|qOgfpIL zU$iO0N_S{sGFaVs^&*HX@=@WL04}?Ia)jxs!ZHhdPZz2!1`uVTYq|4HG05w01d0+gmEk)8N&fBY9_E~x$!gKlF8eoTC~)VRL>X3L6@ahFY*wo0^M zL;HNO*PmtP-6m@{SQ)QSF8frU9V1J~aaUjzrllp7ww&+q6g|aE{leiiT??@-Ryc|Bz-LHNNj}rV=bX)W zm;7d=S&mmr;{7jUry{TaU(O88l~$y$GTyLJC3{j4f=9akPwu_WoCl+E^H-jG0Vja= zY!R4O6a5yN4WK$zDob)1W@8}XFX4-b|g7@;l0mS6LNy6 z_bVQZ-Z;q>U7oA@{fLjF;=8^R)fngFS zom28f{Z&l;RBWPeLQ-3=bP!MR!OOHwY{-_FWrp37m32G9x`b{4-Cn5?QaE*%41w^r z0XW+ze&7Gm(6xy>{ZqJ}3`)B|qL^wC^ELARm=@w+__i`}t^!hm1{tqTa3S}f`duN*Ol6Jtv1gqixeukJH=5<^ zY;>WBuT&28{U~Gs0TB`E)7oph%*ME^cL)QRD&|F(Jgguiu*^Q;pOuYx(unuAFg3yx zx_`u004Q`V0B*Pn5cZFmr8g>_bE+YgU%n=hGB^NdIS9`HtQ6xuW?Cd-^f(F+zR=eWtN29iE?*f5?iz$> z3?5n6K%0RP;tNogO~gEp8HFBxc()ATW-=}PgT3y?_mbFHTDP6|Bfjb+2l}p=(~+*` z_}2}+kt#Qmp|TcI4dKnf=x>@x&o{c1aE2y7#XL4kb+lG#NQb^Lm`rwzx8Qz?zhJ^+I`Zi9~HIeRh#ciUe|5MUUrz)dQt?&{wo#g>!8n%$w2Da-|1E&lF-u?~?AqZ|6{*j+ z`p24}ga>Su4>J7+#F9x5TNt|}!s({;q~SkdKMi@&hvQg@XZ=A`oK7SO4RP&C3StPI zpTX+UP?Yg@k37YEk&-k0NPktC!)h?;J<73<+wVs}?%GVWM{}hHbC?sTJQ3m&!1xQ- zBrz99QHLw9Ug8@lG@!L)07-kBf@549jusnK_r~xwJr0fai2X7|wLVmDfn`!e9fA)r zZiTOS;~A2f@p4xm{XXLhyv0FmGM+cS?qh|iYU`Jj6fT&6f^cvU?CJH@FvR(b2`-6( z+uv}#j0)XykEB@G2W@o;BOhxF&jov1HV&OQ;r-dj5cwfLV0~5e@XIKCQQt z-GMIoXTb3UE2fEF?gMPV-1Y)kioKBNQ3^CoVAX9{ddIY62`OFagSmTssKelSd8(}; z|A=Wg&wXo3@v|o81CA3#0DLdF4?RhmIxvScg>GQqn?SOyRVl*ziezX{^46Uoo6k95 zUms116fS}sfw-C9#k$|i3{n0$Q$I(F>_qg@Sg{utfOw*RPU*x~+{s_Z>Jo7%g4G5Hn06E2g>42j zXZK;@3EDs+4IemWH|O`Jf4eF=$eKR1$)n9KtwAZ-danAN$nhYz`Q1M(X#lln;-abX zDJiBgaFgPh{<(>neimVRde~3CV==|dx}2gAIg>E4UwpGQW+QcSsDAX3zgsF%XmO}A zTE^~OgSZVL&D_#~fZsUkS*d>pir^Qr?}lQkX&Mz;*SR~$nGUkN>JTm_1t7^VI~1W9 zwC|w34b$utSEpU}p<40OOx#K0?{wuCAV(ol(Gn^Gs_>fMiPi{Yw_57b#n4nc1k~@v zuEnm#^IMgK7U!+EjTu+?$rwoAFN+P8gTGopaMZF%%|k$p$$>~*UvHtFEK-5|b7+I! z3U@SzB3j_RDjcQLd;LaBh<2&QtDOI(FPN%^XySbfL|t>`&=Rteex7x1G8~Pp-EhAM zd=x@z1^WuPd1hdyt&@?#ld)F9h87zn?COgl;lZRJBH))#LHSR@v?Q{1$hmvLS746( zPjrE+vTo&;-O^%r#{028WvS2p3=j!}L7^3w=k}08RSNz4<_@?yDqLB1hL7**zuug0 zgMNs5kES=vsdiP5@j+e`{+9xD8$ghY-j4TNQo6U!N5S@<8N7-E0nML3E`!gsvyytW zexZA;Q!o@Hf^;PZd4e{;Lm$pzIQT=-krYCpKWiQxp__wyr9L|Fi@4Eg@i|1i8p4*) zvjbpwek^^!MiN>9jGAIQL1rFDEt?ugD!|1m!F0i4;0;1e4q}hbUt_G@yZ>s)VaJj5 zdW74fq-uvfV%$q{p?#`h9&vke;U>;*f|s`_i!Z?QmWyHv4Khv#UpHqTRhh{e%Wuk6 z=0e_j4B{c9@3~1EqxbeA;!vB;-X^G|3fcdk7eK-Mzu=Y0r?>~;2-r+m zi$XgU^CVQ6^jo=Lzhc5b721I9ZU0ln1-xN7#Jh#Ko_e$=k?z|qHCt4V<@kftPEgJr zv^i5PP90v(_{IB`V~j4JCBhO~$4ZcOLXX&PBC21L!DHc%&acHCIjdByOzU5Y%Rp8p zAty-ww^AZ;J*5Cgp3JeomVjm9&yvCwxTXiChm+45hlI~3{heQVDzVzQN_ncQx+knLMfzmZROMm^m{s*ieEVsAEkt= z_lQC!{Y62IJJr9}Y^treh1Bx9R7iBp=H)Pvoa@I-Gv0_vEGOQ|xqRH-ygYW%k&NoE zCpiR&D(s_mYi+$OR^7&k?=S@N3eY&_%vREMEfbGz& zo$0CA#|=d4!{8qbx#o2H00Q2j11$85BLs!mzoba1BeRHDk-r^6+vNy(Zf_xGiZRoI z-l&qM?N5&+*s_cS2w{hdN1cv|*js`=s}X1G@SQN541o_ zzvxkrd$*l4^Gdt;fPaReLKa?w|45(L2uHFi|Ly6E-5&k}>$x)TtL5)J4qW|D{JYMw zy7q?s=?(eI4s%EtOsif8o7KaAuJ*bS!zMX_ypT`92}BhFWnTl^@}zy zm^#srgmH?S25wKkySu|aeAwQ0)v>dztF6U8dDQ-P#>{a@s~!^)_R!DSpBw>1E4y!= zK3g{)Z-oDR`h=f0e2`r=?*JQFUGA(aFL{{*>R02R4&CKP>}{Vu;Q)1d3p-ov*B?3! z-^pzW2$&MTo#dZR=s&;X2z$?Ad!f_Gk^^rVu~ptK?2P@T zkACXRvG%!>=Bm?QTAZ=pe)KFW%3xqra&&(+%J_}*ujW{%zS95d?fRDu&6YR*^oc?v zNhwjusI;sY>hR@8aODn#cosu&Avk!XlIAt4Xn^Ij=9yI;n202hlFtNZJg@%DNMd-q z=_>~!smy>Z9`Ij?QJXI30d31d@8)4_OD5Zq$2 z7>*41EySiDkSq^h`pkRE5aU^73c!3fig@VbWq?yk3^08^6!CoS?4<0>ZhZVRR#I4L z8B_!&r?i=l@fpZ016rg{VCI3e7{CsEeZdyH?w$`?bLUp;LcYpMs;s!M2!nJ;Tj-z# zg)9Z6Au;gZMf&_H9D%s^oDehb0x>4wZ3xLNZxkLyh=8yIM_(-e-qycFpUOfNqkiz} z&#r0EEIjYY_UElA|AIp7)yz8G-U_iney>sgB;H)FgpvF2ZMM0&18~^k81$KzBleUT z(?|O38!enT`i8~g# zX!0Wc4H=~TbR_yo{sUA0_>O0$1noj&%j?!ZRh2yZ4~Z#Ab||m@(WZ2xU7+1Ai1r_T zEZc?Z@@CNC3?*NMAqK7#f-U6c5NM-_k@b~!TZc#l3&8t)`mnp7yY*qq0=B56%r5<( z1+ZJd3!d06$TrcYaTOzMliO{!3vha2=V*J0Ioe+uLG@vJ2nXBsD)a;YZ0ER&ri;A7 z*Y8BTs5TM&3jy-YSy|e9@eWxnTvclq{MT((*TnY1^T9a5k^hi4k-#(YlOM_!H};c1 zzhJ+7e3AHK3tCY`!Qc+Ok_TGQg6O<6J!sNKM}J*58sR*8_;+^QyoN|z0{1~bh>O^H zu=EhW2ixDmp|g(qJO#jZPC_HY_+#6lFvSHCsihILMB`%O*@YRRUBQLL@d_i63Af|b z1ClvShuhusr|-YSbI!bZ_LMC?uw#10w7<5pY?ZC5f59%C{W(P_WYVhthJ!Qiv$kVys;PA?BS={a~tk= zLxsGn_)x$qeLQU0RB4S{%dM%t9O?RJ`7_(Sseg%nlK)$we{B2;@r~8uGAtLS;if|n z|76!#f8D@k(ZS>g?`80U{_CF6{2~2BEXV!KiL>o*Fspgs_+j?qraIfSWvhMR>_ctF z$e}i8>~Py3v%h!$Whs_+725H8jkM35I@ivbJ=NCLZ?$<-N82ncV}54ECfE;0?9_pu zM{FoSp95_NPa0+?%^Yu!E?r|+o;XLH-&LEp+TSA&V=A-uzC&i(C71>H#Uszzs9}Tc z$QExPZ*(Tj4xBvHK8)Go`(IuOr^dsaAwPGvwAjC% zdz9@zYM4zMT4nR5jj?+cEwy*fnrM@2O6|~z!|e-a9&QIt7-CPX+F+xrO6^N$9%3Ij zVm~X*cH3XpZB`p~)&Uc2-t>_$Po4IavyQOy4w`N)9pGhiJ=DYLqUe;TeEPg^Z)mX2 z=4R_^Z9_cuj-fsJ$H!bz1^tU~ySx2Q_BYwzx5EBHid6EPS)+N8PWQ6@!?;>eX^CZF zS2D1}o$VdS(T?k1QF*zQ4q>~%yyIXy66&rhES^VHm)fW1?JwJS*p%V$i|cLe#;tb6 ziL>mespD+w@M=4B!f?Cwu@_*|3SrAe+Gpm^vG*Q2Q@-Kqi5MU2TZX)ys*@+J@aUL2z<73ats?t zo{nYE*PJxR&YCp|R<+GuT)zc*!60Qx0os)#tf6tMu?--;HVjaH1U7jsCi6W`w0 zXzlfNAq>HQ+mrP_wks|NFI=8u`{Nsbs`3I9%TXvd$&L_$;s}6`0wBtj$N^M8bgOWr z1w8*afp&YmXq=)akCfy+CG+NX}Y!G;eWYhU^GWwv6|i}t~zzG?@LK7+On?~%>4dHbDXV~0+& zuikpOt=_!YMpaL;A%jNSuO9uDEnNMWEm^nF{`J<6*;8xovzp2gcG&o{<@AvMcFYK$ zKI=n>yH~q*dKqG5iA71VP)xe#js88H<=jupzqj=-(WgT7Uj5$_>e z1rX%19sQ}ps%;iJ)bLnr*2Gchh?XK_g*I(ujeYpIgY1EqmfPk3eGBqdWZy%_aWG~x zF8t0f>`&+fe&N)^Yzi9xV3dU32OJRu-bj(uUyD8=Doaak=7?eT_47`^0B56J_`P4+ z;Id-7{`}+cPBNCSLAHCLZ@q&HgCwE#^d6~@^HPlLqvQ~`Q@Nd8S7TX7tY;VxhGSdu>JFAjI+|>65vxS%WQ9Zz`?!xC%4;6 zwVUkj7nT6mudRM-lkGibC>+#7G3Z%t@BYS5tr|FPyl6gnJHfv3`-kn*D9iUAytln? zF7~&8aUU~eu$?<+Z~NjIN7z5z_JDnD!9(_;Blfqyhtr9v7KvIVxjlX6hHXGUYybCz z`cI8W?JuPO%}n|yKbH2dt-etC2mDu6lpqho z?VD&9R$vhLz2E-1ji@ZM>p`z(P!T$-g=hnY*(c{8ZohbRp?&J-zq876v?Z{)Wo1Qb zH@|zqaj>m>+gI;+*slBCpX~p$_Z@#!E z*=O&y*V=3CwbxqvoPEyu*a3Ul`5!qN!tS%mij2*g)PniIK6cJ!x7no+JOTe#VS8^s z#pXW0%)WBTjj;WLcE&|F*m-x)u`aanxZSqLMQ7Z3hOoGz=cG66ggGx(Md@xZWU3o( zC@c1Vn#_;P`PXpS-;CCOa{xd%dI=LIrqnPgp=LQUC(;du5^AV}NQcz{C?!0yLp=hx z8cXJ?oiFt=%`$-v^fUm6i$2=HmbphqI?o6aVu5+yMslcugbEKVy4D_8_eU#fz$>!{ zS`e^YYd62}E9-6Su&bW?K7zlQcI>Q=+t22F5rGfoK|GF=fzTgkf6E@-aFZE=rvJR@ zeRlRy7uwr)`LJF6=r2H}#D012S+=a~aT^4FTnv(oxT52ehkwiFt$N6Q@!*#%(^P6V zzW5UxDC@Fgcm0Ij^ZezK^vaD(?T7cDZW-LoC>h|g3tVHu(&|i0w+)nZTR#HJ(&kpf zB0IZe_IK<<2mG^L|Lo7Lq;k;q!5!hA{!UxgIgcwgU=P`DAdrv>{A(D&$uPSl3`E}K zk;*Vn@JIlnR7wysl%{COrNaY_Z%j!4AZ5@bKGA1szB*;d<=&pbzQMv2FBU?z4CRE& zS3-NZ?1p&-Ttv%d9!?(xfj*5#XeNR|loJhptg3Os(}0?R{2*RQw=x4h2f;p+f+!)qqElCfaFJi&7dfXRILRLXD&PSZUBEr{CpOnH zId0wUgXr~W0gyXB(svXhuQrDM@urKE(+}+k%~boM{vl7zAzor+TL~9-`8$n3&9>$B z0Vkp_{R@b>;@fu|Dftih7m%b#3ixlFbF-z|^Z8r=P?#Dud0 z9|!2i1Z^EAse@JHEZ5m?C(hd5K7ZLAHg8!gnpkQl|MEJ!;3LNX8Jiqr;mDCA4u;a_ zM3^O%4U%Mq5_ee*+SPMkup8#Bgq^Ij%8~)Q>al0+_j49ne|f$A_Mru~+jbM}a?3D)uxiF^0vG9@Z%keKjyXfKhcHX_TeGPWbb+EJVKf+GlW4itP&rb@+kN*6) z-LYr`f{hwH?oz>~qpdlc-c(}~>#ObEzq-NN`>JgD@(%m_<#*Xn-+h=(pV(mQAwzCo zyY>OwSXyHx6q8f?V%du+(-zJAKuFSw~NwefWZ#Y(obvaF3mF)t~LBr@Y1ftN(r*EU!Y| zU($~vrp~e>GkN(?wrmA9B-P1iA5S=vRl(#=1xSZ=EP?}kq#NxJbJWIS`lN^2s!1Bygfr0RB%k&l3)KOIjXa{hPy~2o zOCC(2L<|vcY^jews=x3#Gis*Xf!fcy*u;NGMnMI9d4wnyZ=^4zY?D)SKcfQVK`yXS z>?{7U77uxSVj8*REc$O^5nQP2r}V4nENqU2d!9H=Plj|Tia2zNtO|uDG@Bfk*wmrpv7W@z9Djr%BqJ3c>jBm^fJ;{C31nD3bF`Xsx8i9kRM>w zY9i%EQp6pQb4-?1WNiQ|Gx|HROd0wkaT5-F&^4$*tjIjl#J-`b!s<}>`UT5vAX{gb zJhI4ofp^DAP4>*ncI$y(XzRt&-kN4B#nRy8cAaM5yX!H#ZZ7WfmR8s&FS^}+{h^~A zwfql-#-QA9afv$|E_P63QX{s4+(x z%*Vm&bMJZiv4Qj9q@Q62N&90%aZV;n4>bi(7;eHvsG|P&0=C2o`xkNO2U`Lq|aF_1e>a3o}G50hh+ekSP0*2q6y zqjcdV`oHWom{b@(puQ1WOYtb6J=#l4f^%>86mh@@d$!??4gr-_N29>j?Us!`>*PIBJ zSTBO0XK)vQO;St@8^e6xe9UsW5hpjIPe2yq7xM^9nG(gajR+2Kv5=F7F4(sV9$sio z)fqcr+ZLNVuFiIB8D|^2FtKE1RtQ!=cEU4=jRn{?L*KLWAhVaP(N%Qf;l$vgInUTf zuyjkc-(I32fL;A$0jrCcX zwo#Zptu_XL2VQ``g0o{%P0Aanvi?@H=)l-R0e**FFHD$w=U`*kFh@b#hDL16viBisiEvO zHCza=8)5c;G}|9W4D5(4$)D1HIr*0|=vEgwtaqzAi^$b=B7>d0yT<=3>;Gu~smnkG z1b^B8Vfi9(J5BKv(wn32_6N`o2oSd439z+!ofD1%|I$~^ba^)dM_DM`*eJHYtj|^` zI1G)}utbhyLOJMp{EHj{b4T)oKpkQbPGMp#Y$%WPb!RWqN2b${l;hFotLX6=%0A=h~Uq!??C*D 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

7k=MBb`)*1%|Aq>w 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 literal 548626 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�Z=e~XBUeV&$y54)u%IANPl=%jm{ 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 z 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�xdg*g-DjN*w|X=u)K%#(~qlxH^e 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%0AdNI$@wANuINGvAxhzq#)lDj>NoJ4cr6 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

%YGs)WR>w>BZ8DCRj= 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 V+XwCs{RH@rhN`woxsvtA{{sh0rZ@lq From f3f6deb0f267c84e2105d3dbb6faeb9714ca8496 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 11:19:55 -0500 Subject: [PATCH 05/40] pixel style --- README.md | 2 +- .../{jira_source_dag.png => jira_source_models.png} | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/src/{jira_source_dag.png => jira_source_models.png} (100%) diff --git a/README.md b/README.md index 630299a..da0bf34 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Refer to the DAG below for a detailed view of all models materialized by default

- +

# 🤔 Who is the target user of this dbt package? diff --git a/docs/src/jira_source_dag.png b/docs/src/jira_source_models.png similarity index 100% rename from docs/src/jira_source_dag.png rename to docs/src/jira_source_models.png From 612131057796a2d4ed76e2c31521813420e86c1a Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 11:33:38 -0500 Subject: [PATCH 06/40] fixed references --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index da0bf34..ff74d70 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,13 @@ Refer to the DAG below for a detailed view of all models materialized by default # 🤔 Who is the target user of this dbt package? - You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) - You use dbt -- You want a staging layer that cleans, tests, and prepares your GitHub data +- You want a staging layer that cleans, tests, and prepares your Jira data for analysis - (Optional) You want to make use of the [Jira Modeling dbt Package](https://github.com/fivetran/dbt_jira) # 🎯 How do I use the dbt package? To effectively install this package and leverage the pre-made models, you will follow the below steps: ## Step 1: Pre-Requisites You will need to ensure you have the following before leveraging the dbt package. -- **Connector**: Have the Fivetran GitHub connector syncing data into your warehouse. +- **Connector**: Have the Fivetran Jira connector syncing data into your warehouse. - **Database support**: This package has been tested on BigQuery, Snowflake, Redshift, Postgres, and Databricks. Ensure you are using one of these supported databases. - **dbt Version**: This dbt package requires you have a functional dbt project that utilizes a dbt version within the respective range `>=1.0.0, <2.0.0`. ## Step 2: Installing the Package @@ -44,7 +44,7 @@ packages: ``` ## Step 3: Configure Your Variables ### Database and Schema Variables -By default, this package will run using your target database and the `jira` schema. If this is not where your JIra data is (perhaps your Jira schema is `jira_fivetran`), add the following configuration to your `dbt_project.yml` file: +By default, this package will run using your target database and the `jira` schema. If this is not where your Jira data is (perhaps your Jira schema is `jira_fivetran`), add the following configuration to your root `dbt_project.yml` file: ```yml vars: @@ -52,7 +52,7 @@ vars: jira_schema: your_schema_name ``` ### Disabling Model Variables -Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your `dbt_project.yml` file: +Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: ```yml vars: @@ -62,7 +62,7 @@ vars: ``` ## (Optional) Step 4: Additional Configurations ### Change the Build Schema -By default, this package builds the GitHub staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your GitHub staging data to be written to, add the following configuration to your `dbt_project.yml` file: +By default, this package builds the GitHub staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your GitHub staging data to be written to, add the following configuration to your root `dbt_project.yml` file: ```yml models: @@ -76,7 +76,7 @@ Your dbt project is now setup to successfully run the dbt package models! You ca ## (Optional) Step 6: Orchestrate your package models with Fivetran Fivetran offers the ability for you to orchestrate your dbt project through the [Fivetran Transformations for dbt Core](https://fivetran.com/docs/transformations/dbt) product. Refer to the linked docs for more information on how to setup your project for orchestration through Fivetran. -# 🔍 Package Dependency Matrix +# 🔍 Does this package have dependencies? This dbt package is dependent on the following dbt packages. For more information on the below packages, refer to the [dbt hub](https://hub.getdbt.com/) site. > **If you have any of these dependent packages in your own `packages.yml` I highly recommend you remove them to ensure there are no package version conflicts.** ```yml @@ -88,16 +88,16 @@ packages: - package: dbt-labs/spark_utils version: [">=0.3.0", "<0.4.0"] ``` -# 🙌 Contributions and Maintenance +# 🙌 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 you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/github_source/latest/) of the package and refer to the [CHANGELOG](/CHANGELOG.md) and release notes for more information on changes across versions. +The Fivetran team maintaining this package **only** maintains the latest version of the package. We highly recommend you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/github_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_jira_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. ## Contributions These dbt packages are developed by a small team of analytics engineers at Fivetran. However, the packages are made better by community contributions! -We highly encourage and welcome contributions to this package. Please refer to the [CONTRIBUTING.md](/CONTRIBUTING.md) doc for details on how to effectively contribute to this open source project! +We highly encourage and welcome contributions to this package. Please refer to the [CONTRIBUTING.md](https://github.com/fivetran/dbt_jira_source/blob/main/CONTRIBUTING.md) doc for details on how to effectively contribute to this open source project! -# 🏪 Resources and Feedback +# 🏪 Are there any resources available? - If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_github_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 future dbt package to be developed, then feel free to 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 [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or send us an email at solutions@fivetran.com. \ No newline at end of file From 4e4c78fb35c3badae1dcc8d6f35261e7d8848185 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 11:36:08 -0500 Subject: [PATCH 07/40] docs link provided --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ff74d70..dc6aa5f 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ # 📣 What does this dbt package do? This package cleans, tests, and preps Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). -Refer to the DAG below for a detailed view of all models materialized by default within this package. +Refer to the DAG below for a detailed view of all models materialized by default within this package. Additionally, refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source) for more details about these models.

From bf282c8e4df78c7f5aab444a5c951f6842ef5e4e Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 12:53:17 -0500 Subject: [PATCH 08/40] spark utils addition --- packages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages.yml b/packages.yml index e8d9d9e..8c7af2f 100644 --- a/packages.yml +++ b/packages.yml @@ -1,3 +1,5 @@ packages: - package: fivetran/fivetran_utils version: [">=0.3.0", "<0.4.0"] +- package: dbt-labs/spark_utils + version: [">=0.3.0", "<0.4.0"] \ No newline at end of file From 7f230ad0322e4d44de5e4cfae368844b1d826160 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 13:28:34 -0500 Subject: [PATCH 09/40] reamde updates --- .circleci/config.yml | 12 ------------ README.md | 12 +++--------- integration_tests/dbt_project.yml | 6 +----- packages.yml | 2 -- 4 files changed, 4 insertions(+), 28 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6eb3d0a..f639f07 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,18 +37,6 @@ jobs: dbt run --target postgres --full-refresh dbt run --target postgres dbt test --target postgres - - run: - name: "Run Tests - Spark" - command: | - . venv/bin/activate - echo `pwd` - cd integration_tests - dbt deps - dbt seed --target spark --full-refresh - dbt run --vars '{jira_using_sprints: false, jira_using_components: false, jira_using_versions: false}' --target spark --full-refresh - dbt run --target spark --full-refresh - dbt run --target spark - dbt test --target spark - run: name: "Run Tests - Redshift" command: | diff --git a/README.md b/README.md index dc6aa5f..1c63ccd 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,7 @@ # 📣 What does this dbt package do? This package cleans, tests, and preps Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). -Refer to the DAG below for a detailed view of all models materialized by default within this package. Additionally, refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source) for more details about these models. - -

- - -

+Refer to the DAG below for a detailed view of all models materialized by default within this package. Additionally, refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these models. # 🤔 Who is the target user of this dbt package? - You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) @@ -32,7 +27,7 @@ To effectively install this package and leverage the pre-made models, you will f ## Step 1: Pre-Requisites You will need to ensure you have the following before leveraging the dbt package. - **Connector**: Have the Fivetran Jira connector syncing data into your warehouse. -- **Database support**: This package has been tested on BigQuery, Snowflake, Redshift, Postgres, and Databricks. Ensure you are using one of these supported databases. +- **Database support**: This package has been tested on BigQuery, Snowflake, Redshift, and Postgres. Ensure you are using one of these supported databases. - **dbt Version**: This dbt package requires you have a functional dbt project that utilizes a dbt version within the respective range `>=1.0.0, <2.0.0`. ## Step 2: Installing the Package Include the following jira_source package version in your `packages.yml` @@ -83,10 +78,9 @@ This dbt package is dependent on the following dbt packages. For more informatio packages: - package: fivetran/fivetran_utils version: [">=0.3.0", "<0.4.0"] + - package: dbt-labs/dbt_utils version: [">=0.8.0", "<0.9.0"] - - package: dbt-labs/spark_utils - version: [">=0.3.0", "<0.4.0"] ``` # 🙌 How is this package maintained and can I contribute? ## Package Maintenance diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index a4a0271..4fdec77 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -78,8 +78,4 @@ seeds: start_date: timestamp field: +column_types: - id: "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}" - -dispatch: - - macro_namespace: dbt_utils - search_order: ['spark_utils', 'dbt_utils'] \ No newline at end of file + id: "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}" \ No newline at end of file diff --git a/packages.yml b/packages.yml index 8c7af2f..29e14b1 100644 --- a/packages.yml +++ b/packages.yml @@ -1,5 +1,3 @@ packages: - package: fivetran/fivetran_utils - version: [">=0.3.0", "<0.4.0"] -- package: dbt-labs/spark_utils version: [">=0.3.0", "<0.4.0"] \ No newline at end of file From 1f5dad1d4c24600f91a3222ff2ca5e620d6f3d58 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 13:30:41 -0500 Subject: [PATCH 10/40] contributions edit --- CONTRIBUTING.md | 72 -------------------------------- README.md | 2 +- docs/src/jira_source_models.png | Bin 433258 -> 0 bytes 3 files changed, 1 insertion(+), 73 deletions(-) delete mode 100644 CONTRIBUTING.md delete mode 100644 docs/src/jira_source_models.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 1e005d4..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,72 +0,0 @@ -# Contributing to `dbt_jira_source` - -1. [About this document](#about-this-document) -2. [Proposing a change](#proposing-a-change) -3. [Getting the code](#getting-the-code) -4. [Running `dbt_jira_source` in development](#running-dbt_jira_source-in-development) -5. [Testing](#testing) -6. [Submitting a Pull Request](#submitting-a-pull-request) - -## About this document - -This document is a guide intended for folks interested in contributing to `dbt_jira_source`. Below, we document the process by which members of the community should create issues and submit pull requests (PRs) in this repository. - -If you're new to contributing to open-source software, we encourage you to read this document from start to finish. If you get stuck, drop us a question in the #tools-fivetran channel within [dbt Slack](https://community.getdbt.com). - -## Proposing a change - -All Fivetran dbt packages are Apache 2.0-licensed open source software. They are what they are today because community members like you have opened issues, provided feedback, and contributed to the knowledge loop for the entire community. Whether you are a seasoned open source contributor or a first-time committer, we welcome and encourage you to contribute code, documentation, ideas, or problem statements to this project. - -### Defining the problem - -If you have an idea for a new feature or if you've discovered a bug in `dbt_jira_source`, the first step is to open an issue. Please check the list of [open issues](https://github.com/fivetran/dbt_jira_source/issues) before creating a new one. If you find a relevant issue, please add a comment to the open issue instead of creating a new one. **The `dbt_jira_source` maintainers are always happy to point contributors in the right direction**, so please err on the side of documenting your idea in a new issue if you are unsure where a problem statement belongs. - -> **Note:** All community-contributed Pull Requests _must_ be associated with an open issue. If you submit a Pull Request that does not pertain to an open issue, you will be asked to create an issue describing the problem before the Pull Request can be reviewed. - -### Discussing the idea - -After you open an issue, a project maintainer will follow up by commenting on your issue (usually within 1-3 days) to explore your idea further and advise on how to implement the suggested changes. In many cases, community members will chime in with their own thoughts on the problem statement. If you as the issue creator are interested in submitting a Pull Request to address the issue, you should indicate this in the issue. The project maintainers are _always_ happy to help contributors with the implementation of fixes and features, so please also indicate if there's anything you're unsure about or could use guidance around in the issue. - -### Submitting a change - -If an issue is appropriately well scoped and describes a beneficial change to the `dbt_jira_source` codebase, then anyone may submit a Pull Request to implement the functionality described in the issue. See the sections below on how to do this. - -Here's a good workflow: -- Comment on the open issue, expressing your interest in contributing the required code change -- Outline your planned implementation. If you want help getting started, ask! -- Follow the steps outlined below to develop locally. Once you have opened a PR, one of the `dbt_jira_source` maintainers will work with you to review your code. -- Add a test! Tests are crucial for both fixes and new features alike. We want to make sure that code works as intended, and that it avoids any bugs previously encountered. - -In some cases, the right resolution to an open issue might be tangential to the `dbt_jira_source` codebase. The right path forward might be a documentation update or a change that can be made in user-space. In other cases, the issue might describe functionality that the maintainers are unwilling or unable to incorporate into the codebase. When it is determined that an open issue describes functionality that will not translate to a code change in the `dbt_jira_source` repository, the issue will be tagged with the `wontfix` label and closed. - -## Getting the code - -### Installing git - -You will need `git` in order to download and modify the `dbt_jira_source` source code. On macOS, the best way to download git is to just install [Xcode](https://developer.apple.com/support/xcode/). - -### External contributors - -If you are not a member of the `fivetran` GitHub organization, you can contribute to `dbt_jira_source` by forking the `dbt_jira_source` repository. For a detailed overview on forking, check out the [GitHub docs on forking](https://help.github.com/en/articles/fork-a-repo). In short, you will need to: - -1. fork the `dbt_jira_source` repository -2. clone your fork locally -3. check out a new branch for your proposed changes -4. push changes to your fork -5. open a pull request against `fivetran/dbt_jira_source` from your forked repository - -## Running `dbt_jira_source` in development - -### Installation - -`dbt_jira_source` is a dbt package, which can be installed into your existing dbt project using the [local package](https://docs.getdbt.com/docs/building-a-dbt-project/package-management#local-packages) functionality. After adding it to your project's `packages.yml` file, run `dbt deps`. - -## Testing - -When you add new functionality to the package it is important to ensure your changes run successfully. When opening a PR (below) please be sure to document what you did to test your changes. Screenshots and detail examples are always encouraged! - -## Submitting a Pull Request - -A `dbt_jira_source` maintainer will review your PR. They may suggest code revision for style or clarity, or request that you add additional components. These are good things! We believe that, with a little bit of help, anyone can contribute high-quality code. Similarly, the maintainers may make small adjustments themselves prior to merging. - -Once all tests are passing and your PR has been approved, a `dbt_jira_source` maintainer will merge your changes into the active development branch and will communicate when the release will be live. And that's it! Happy developing 🎉 \ No newline at end of file diff --git a/README.md b/README.md index 1c63ccd..dfa8ae9 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ The Fivetran team maintaining this package **only** maintains the latest version ## Contributions These dbt packages are developed by a small team of analytics engineers at Fivetran. However, the packages are made better by community contributions! -We highly encourage and welcome contributions to this package. Please refer to the [CONTRIBUTING.md](https://github.com/fivetran/dbt_jira_source/blob/main/CONTRIBUTING.md) doc for details on how to effectively contribute to this open source project! +We highly encourage and welcome contributions to this package. Check out [this post](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) on the best workflow for contributing to a package! # 🏪 Are there any resources available? - If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_github_source/issues/new/choose) section to find the right avenue of support for you. diff --git a/docs/src/jira_source_models.png b/docs/src/jira_source_models.png deleted file mode 100644 index 33f329961cfa93bc3639c6e6ba80f6db86620bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433258 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

d2?hY@^5)>wh zH(fpN`(*8HcM@5`N-~n0;C3bk50jzwb6z+$85z}ANYDg>&;!3t-p~(W62l2UR zhWuXV-E}?a(~w-4Y#x}$FBSVsRk~`8frczk5=d^1D*llcmyu`Y2JiWKA>b$3(m@BP z>KZrouN9oZ*RO3$Oz7ii$NKi8ddBM%7UO$aE%#8%saQx7ibubWK4>35^*k>in@*G=(t>-EK>c}mW*m<<5uSo6Nq?v)b6u;XZ{G35 zRL7}=T>jo$=WvxN7(1mWP{pCFeWTfFz7-aj-hKjtxdBx#-UXrJ$7^X!DjE!y{Ar{N zP0$pxSA_7(O~^M!=J}G)J)xlfTAjTy5{{kHiDwTA^C`3N_{VZRO^G+8`(WPP>GE&1 z5}T-`nKiU!p`x;WF0aGB!zY}{@;wN(b>~zI82Gati@9YRYQ$PLb z(%~u!%y9vP^hICS<-_@3rcWGD!{A_Lm*A-t(Eo>g;}iZGAiA22lRO^m4sgg>zhF zziFkrcTS7nk#ydovxi(J#DyHSHj=k2UszWUYy<3F5j8_qxPNjU6iv?VG!>*~Z0K&E ze;#=U9&-m?1G~U6qgx;<)&~KYhkJjk1H!v#elO#uI9)LnA1)6a;C0f2YJN_wD#)#3 z-@Qzr=6z*r*vSy7fsJzlt z?wj+l)k<^rD9q)e8`Q~+HvGO5Q6CGzD#O83gCfFk(tc812;LZ8uf-DFv6*hwrI&y0 z^1NCF{zixWa$y&29eI76NcaMoqk-Wq{!MV#i$grq+UYqpKv-n!9@upL#*x$Ye8%3%#4vz7)259fQ3@pXK@GEk+99_DG)XKE4eI zQqYNJ10|diw*8&dpu`Vm?b?Q}lwgB4n(ot)P5I~s@q_&dbBlbZzk4{gMAANzy<_qp zY#VQQZ9YG1116Po&VkhoU>K{8nE2lIQ*c3Sd5?P2rLr?AxUbK5KQ$iBH?iFaYMCVN zXToc(^Q94Zed6_~i?hGeYaGkK;1EMlg&Z#dM3&lZ-gvodgC=;Um4 z4en^Y}Q_(}#TJw_37VcJU2kss(Yr!2z zv7qJd>eXN4^m{)=LGjZpx~`h zpdZv=#Hj+0X-u3WwXCcAE-pgq+*NS*#NqemmY0tlTX%lA>~ZS=p$jI&WZda?c6CE* z!=m-^=V8N}ZEGkM5x(97Cv+GMo?Rlj|0BK6(8yE-C&g4$z)lrb%b1sgnsY?Pqe9sg z5hMRKoT7V{kBMvzP+mLg!t$$eHG)g(%sTOB+kT7y<#(P8mixP_h#;i-VwW|FeOig* z^`A7>2u>ytO1k`k&dPNCho6w~AuyH;ReLG{L*w;^?M_>0aC7fj}4L3?z zWV`qG%wqEq;K^^B5Ts4WjNY-5siPRJUiTeOcKw;B;=W&z>ANCppS?B<4T|b1xz^&3 z+EjRO4+3KaADEeub#krt(bCJTnymU3SjsBd8Am60{ZhiPnc~K;cO~T zBxqSUd^L0ah~!>3s7fY(B}6T9q+VC3TH|zAN2lQTTZx_*+KH?Uccgmnw>%v3vJoLv zZF%V9d!z1Hm+IC~isG7O=$bA{bZ5p!MXViu0B!GG>J-@VJ?fEW@_B0_S8tM4ZzH+3 z3ffdj_((g_-)|izentC_DWB+0t{XarP1s6Uo&GLFx1NDMjL6w+dp7qGVeX5L@NV|q zk5@TE+|jQob6vzGU%%h2Z?yW@;Dc1!R0;#TR=!g54jc;hi5 z6GCiRJe)Bp5X;gOrms=;Ljlo$&#Sx|3#(=`JMq*z1dWu# zc!0bpAqPC>)^sB^X^uWOOw_dpGaW%rnpwCDuF zg#3FmQw<+Xn29)IQp|*6UP?K)fd-wH=j684c>{${nW&sie3Z21n?L?~ikr*1sH2ki zjk)h(vc`>aBuRuX6RQmfa=BE)%=*H+9<32#ZN%=Ju5d4 zG+F@0t0i)80T3uVRr{p-$tgf|zj(FgY3Z!?#y4FbSvQ#&F*4!kB;<2b%3T!!7(#A! zosXmV?HB#pbb=FD19VoJ-v4Tk3Q*H&&^4_0B6ilXuF~<*K(eyTP0}=HMvdV~97NuK zT(|QEG9`5!nzUKA0=>0c#&R(bYKll^!bJZLm)rvKf4oDp8H=Om${{h+W#HG&+i z_mbXP>Q~UU#v|0%15w1qb?EXBP$sQ#lKGqYiU41F*Pi?Px0!wvz`>KL@7Xd-#ph|c zd<)oo*|1Qnjn#T^yepbpiI88PKdsQ3b8t1C>0&@s} zw~qTPGhyYM0Xnei2d3T(F9TVspY&~y8hX|^FZ)|JhY+jSCye+e zNOq@$%d7>_56yt&d%km`;PbHDCjW4Y09EqC>VI_H`J-&2chiNhGG;#75=sglKLTw0 zfJSr?mCVZaSXjk6F4-ZX2uiaY@>l3z}{CNH-SJD#Xo z13?>iTZtvicEP_+d%skkCWG3TJz6WGO&(zVr!ZCz8Yl?eaPrN|IK=bex5PhQ>j$X> zHmhg1uH7Lb?bcOW{`xVkel%7v8 znQ?0;l}@D#3JFMXBE>h1#dx=N8K35(Eo)!{|0|M-)6)B_I>AF?HqF?@I_TQj9Tah|^D-pEc*IYx! z9H90q^|7hqyh><;M}M3BVKXRREKes_Hw^ab)XWEOTY;3yH?6 zge2?tZkah4u=Y8ni|SBnk1(gWMNaM^e2bJy(SlZ+{Ib-^}+1>vdSNvKR`*iIpM2*GABA- zFh521iFdr+&TB>xE`e>Hw5bm>x`_j$F0`&yLcpqT5D~>RzC^o2ky_aI;?}+cc#h7^ z>Gu>*LT=Gm*Xx{n#zKFBU&ORb!f0U+Zv>RFT?sxsUVb|)e6f>! zHs7cZI=_vJi>zlQdg1_NS0ivmndNl>ch=Q1_tCCa+nTn9-ZPDrBscwasvzy$Jt7Q= z8ctSIzE$Vz0we6Y0BgbL`+TPatyzTV4g0l8mQb{CDD8BcYFj2ZxDnJu7uag#&|~M& z$}jovVgfcSVB5Zfy!3A&pC-yOt6xQM5wZzo45C+BO)=F2n!Uxs; z{?nBz=V~|p&Sn-xz#k%Chd2aE4>NRapZ^Bj)+^zwdR^{{-o z|Gk89%5Pfz!-GGC9=z>JEXp#>-7ejXh4dfX+?@VTaokea(uIm&HvfC+li&ILY*+Q$K6rsM)C9jmd zaQNKp6kNgp-Oi@Q<#S%F$@jShEf6l1$fCx^j2$Xu=vP`lpPC4WPvXSCIC~kC1yg=X zF5I*RzV%R!YvqB5=Qrl})?SVt_<(WMckk1(@(uZVW)40m~`A2e#BYDMD`I3i?Dt7U zI^W(5Mi93*gV4K;#J7G-DC;umZ^Byi)*t$?*2y2bv1Ub)c%ShA_h(t;qK2;rNUq>V zA@<;Q#cM{)M{6Ql+PXqg58??=Km4@Ps>t5HdnhEJ74|P8tLs(vA-TlSEjQ7AgKjLI zhH2Hw>Tx{l<-ySb?pq5Tt?_o}>NaFb5N16tfeJgztnn#H`i+EG7_ZS$@uDsUeC5^5 z2S&0&QZ3gonNPlzXQaQ%a{Mmg^t6kj^I1d0H05It&u9E8oKcUnlY;-G>_S0hv`f!> zsGZ@sBt9)(8X-#F(?y@`H^n;@*~iV_)A?rxl9lq1 ziQ)%-JO1G)wP8}SX@7&WZqulfv~_tv#IESC0U~a3g%X5`BOHC0T2HYyj`uaeNnmax z)$WzOl$4P=gxW=o_*#CJbYZ>qdF4;4p$Er&ZNfDM$2{e?Pd(P$hQb z$iOvBG^{ix5FLB#Q>?@tYoT9-5Hd4hPv5mHCAN}vx(BM0%kG)0$44qO6`@Xq9{!Ds zgZy7JpjY+Fcy#05tF}zi5!9fr(c)vrVyk020RvwA+9YywesmAr4Xp{*7QCjQr+h1d z=$uJZ1FOy2<6?a@*>Jiy@D8fiZ#`T`Du4o&bWY=}g2L-NPv82%)f<*wk=PT3Btnq1@^VNNCVvy;URj%kdn*()*|6*G0Q!ut#+J z!3e0k5L6k6*^A(R%Wy+duYnr=jIWen2s34aI7@;Gqcy(;u!ba^cd>YzJy-n;yd}SyL$7+iPPg5kO!FQ- zG*V6iDj~;Ae>LkYAJ=vn&$aZewb1;KM%W|( z3ku306o?VXt}vt;bO|hiA~@IjsNrC@T4>fdw0a41cfakN0p$DwQZJisq(8KeQEFdn z#8t$gn|rLUu_@zbZ2~Y#9l_~@8-6$ar(umeehTdczRum(UKmX#tGf-7?7<#Y6^gjH zc;J*`Tk`niN85C3pm`W-jEp%xd#|()yC?lGfUqJ5c03?K%=Z?7up2-Q$9!`@H z9pxi*aDi?YiW2oPxj%XHd=PJgTve>>`;+=|@+xv>}?-3QMCH3#QxlfBz9%Wo(u7iM|u0G;kK| zJHbI!r_kr!8XdQ_xhYbZz0Z8-)ojF@)6_U?fuNt zJ|#dslJjhC03#K{T#vtg>X|*ZzxCS%d~|*14Q~&Nqy%~vidv5lp0SzzsR`F>#RitcIPAo~P(1d# zx0;wLCqH5T5f|`WNE;N;-C-p7B3#<4c@PO8(Zn_)&{Y99-rW_v3)M*qXdl~E)jdIU zgcQL8f5lUw#y6IsPJGx0F1I?xw^-x>i$N`Xs%QRPZVenkgt-GKijVN7s}En3NGP9p z^vO5irXSmfn&pl|^_ln3`l%nSGP6sbnED3SeTDA6(6R%x(BTdPVTzmHd(`F2@E=+6 zt{7f$V!-0LQ(oM|mHb^rl+paAG=${{aI6mE!y)0E7REOYncSCt5~@ysiC=$HQt~SP zNDB35y%I>|#%3wyGR_U4yjGsMMnYvMY3vwGj64V*AGwF+w@xy5B@Xx;-z?&hIwfB@#=9T94ddqF zsRae^zgL{mG8PJzW)Pc|r#Fz-I>aJD(nZ@J!e23z+rshCTzDI?g=Gvuh zp+w7@a$4#2Ux!+nuNPeC<7o6WL0##lon5d=Q7Lf8iFda&dA0r<#RW@GTUq;Kd#vAS+DK)TbpZNxNFsR`}`Z4@Ix`$hbbM43K*Ds38 zah$h9*V#F3j7MuM@n?BDaA+ZFjX)KY0Kq|!t8v7}V;-NoIlv36$t-_4^4AKOhrw@$ z^@@F#F!AVsk)#{BN&|rO1(*bhTl8eP#f`!+-B^joN`6K3^eN^GNzVEt`N_4Y98Uh` zPF3tYO5F-6^i(IdvTM@gd&@OMjMCwgsuE!?RU3?}#r0ynkV`DQyHM0AvMMV2)Z~SO z9%&Y7u->{WHC?W^Wp)3(-)V{2leFr6F|?XMW`w{;3zKi&`zF+Pw^+H3xFWkZUPwjo zvU2${+_I^orMVA$sOB~#GV)4mGQ0u3?%iiV_snUH=H3Rcm(%m8Pa?c`=9@Aiom?ra z!sJ7B&R_>PrJ#|2$@8&N1gS6AnC8=Y0Ff`7n2lFtx^03-u&ST${8`wm2745TU<(Z9 zr0MgL;QqlQ4ae@CMWyqE@=zfyyUvC=rw;@HRR;`{(m|@Mp9Z+0>vm!me?-HCX=y=qIM#O2OG`@fkp zX2id7*~?Bj_i0oVfB%C<_NIl)GuV;D<=MhPBb>Mu8pLVod=%v0HSGdd{L^4_Z}GCK z_0Q62w^K`!cA(=d4w6}FupM|fI7>5eT|4W&>wQK4@Y&X?)*<408WzonQfBna8aXXi z!i>(PZ-O z1XKg+bBbB|lvSEg)Oro z!#>A2d*xCQt);V-+phwz&1~TEOTvD{P!fz9N_t=3oqO$IP{6gG=j)zZC_>_;v(k(ou0*~}jQ?T6%kp%yK> z+jCs8ZM7NBS?4A%V$O7NzDu?X`RQQN#)hXX`MsY>J|33*R`g-WKuAaV5UV3JPoCi# zQsHNU7}k`ZdR#$1P0v05Bm3@M#+&8_MtET8nBOyoQ2jy?I(_YNuBG1>jj-TC3v7?y zoWa$qSr(-5t}=IQ=8sW>WI5)G5_-XDb}3D{CO~6(k+08~l=`Job}Cs(w5f37QR6hV z>?&9Hk}UnmSSNJVttsMnvn#X}HQ%3V+!TN9DveZy-e0qW_9V6vs>mt+48xlKb8IHA z5xYSa;_Wd?E%zG3oy3NYt7N`q*+S>^(_VORxy5l%5%v3xIrG6|vY$7fim*hzFbk7U znkzh$tbZhqTEL0cP8kFgz2UtT z!W{kl=+hfmqwLbNDY(TZLCUPHS_`PXqMneO6{z-z0yw2C*R#x|`sOyVcTOB?#(mcS= z-HN?klDid9_tZy?4MW63=o9tq*@a+blX~ACM{z&zmEeb}ds7agcHgoMSz>RzjC}EP zOtC<#5z8&pc2{f{#Qto({QNa8-z~~Z?z5a+mIo#cLN~9$r}DY6pnG`-Z7zWCS&%jN zQv&#u&EHS3(vj<^l-LL_QKO-8^WUX5kAmN+q_%KVfqJ0Y^dS7V5H&ONmzz6D&$xl( z3cjitvPRtovHEDW8QFi*rp-2;PY?A5mY7z$;%%v8^RbO?zmqzm*Qg>FyYyVtoT%Em zg=GYCbQWpks{ZKIbNpZ?B`6(cg|5@f{%&99fI}R_XWcZod1c#Dy-kqt4{kxW(QXzO zl$jCz35z*#r=U2kEii+}7Fh4;HWP@|=+;x>LeM56$6-XCU?Hhpod_WXs(X_}%p(jK zD|_WaNBr4Byu@Fxg&9lmEOZQQ+PufMNUHnp)W+|vvK!3*Ow2A=8lItRJv6BfZ zqjE4eM>va8=dUA~UZ7~ot4}&YvBz1liXMKei-A?H?d2O+=O(wAk&Db-q!52Arrn_BjkaMwYx@#Jt%Pjs-%kJ=T&htgSo0Od|sQw7{ z^>`(j3nzg$H75YbWsf5Rl@xEaT>Qh*4f8m&IzHw1xm23b&G1Mkj(Ou zT@B+cX{y|DPbxzeNnUE)%6Q=SG;GxNRj-|L?}!2Y-aD{qq^djTv54CX{oeo9B5kWy zFk1Xr6Ishd!x}-^4O+T@VeqJ4ma&C=H^)2?M^s%Y6zwsNPIG|$e3++AUC8NM1mkfD z`)P(lik!&RTw^beWDzzUu5M^|ei8c)pJ~7UxDU{Ty=3xOQ0G6&wF~289s5RO-g4)_ ztS(t>oadw2jk^-^Rj5G4vCRxUnTCqn_Jhw7r!qW#vJg3~h;Dy+IxsEtY^@8@ig3#o zbfX(`g3Y(5kVFn-@M9d5Ua* zcclCbw<-T#L-T+osmuzqJc_b5JH2^$kVr%p-VgRVk;gwCZr*C)|DLyO0e@tgs@cI7 zcfzxI@CjDg9O3>}3Yr{3`XK*-;V)JD3ak+x=Eo0SI+^C9emy$vad+vkO-e7yY9L)ESJn3y741+1)8PWzPhb{LF~bj(c%tYclMYU zY9Ct_tmH0NfWvPiZTMk6a3GhmG2ZMwt7E^xl(vGc76BS`sT7l`NwGU?qd89Jp4ZS? zcx9?hECOHI>x*|89=y$2eedz;Jm9+N*QV}a%YMmN2~iGzyJ>CBe?x}qDgK#nC~~rk z+68LYWO_(zR-^`8Rle+tz42Q(I-!7Q3yHxBF46XJvOfpBj%+AR$Bz;BW@a!5XuC>4 zqj2bqK_?RzQR~3m)+O(&J5S#6N+Zhv;O&gzClce`{~muLX$=YozM2o^0hiVdbA9>N z6}RH0r}T5^7=+>*$vE{P3Q`scUlH7$s8^S%XLb7FIM9`? z0sMv3VCGeE5XDB{_|P*(D2>&5f0zW(AZ>RG7aCB14VI!ZO3ZVgx#TA4W2-yT0uQGS zp=HR=0izNl)L-S@r3lp&hz|6=^)>4k zrs+EQw`$5~7j$%IXdp%Jt6`K5{eUnafBbhpoLC!)R-#pdX{TDI=E|ce71{N5oi%7j zkC8P`LA$IRa_hF6wUBsWTHaN?C`ibmQ}7GHuCjWa#8b{t-|`m&FfN{tIl&&j*e1bs zkP$a>*${ak)|Yvs5s8AqqiHv+GGC}{lfDy?@uW8{;Rhd%!Tkq{S?N`wL=`Ih_m+2A zI1}EL95bbPSOVG?-$=2+_~_Ks zXM6&Lc=_>ID_csWan5Rk2!*VmR>8s}W}HJOzPIGo=jG^-KtdKE~!J(frV&EMs~vJpJ+JM1E7yGfV0FK5Ok&T1^pI@umXA z5{$yv^SNB-1Q-^AjGp>*w7i9dv1|i2;vat%$t6uNRxK4*w;i3k&5+t2Yw0yM;;bgf zNw;xM&KGcaz{I}i+h#ykhV~x}U2F@%z4rnxI9;Q!NNQr0?1x>MYjxdgP&}+ZUy~?_ zaTnF_+y~TZbc9x?(~?&X0>c`K17BZ#2Rdvas!wh={J2H*j(9TT_i&I}^H&Wy2_yXJ z&Gp|_+VD*C51G128bK)~>N;M*$vXFr04No_<%yo~E15a(%F2(dQ(JCZx(+L{0L z!v5y?i`b?N(@~sJ7?{ERMrBg5DhrH=farpf|1@%|5^cf%)dY`^KrL=OqH?U8jouTM zqoksia|RC6*Ciy%K^s=@D|?QG$ZH$u+ee26Iz()C|M9h{<_S`?WBzrNj1eBd=ru`H zt?wbqrID@%=ElMFyw$=J|NJ=F6|Dy@05~f#YcaGH6=x;er3w*Ybg7hxtPZ?Tx`7)w zz_UI8r#QjbMx>`?v}Dh=ztq&NGNjf@sD*r2t3MI0H_|f8@BTr~oY5!#%d(%0B@+<_ z;^$a`Pa(nR@ZxhOAi3J9cJD`n;kiXcoEPeEp7LMz2;M<4Kq5k<-UnyIbnQVwO+G-r zT}q9`lE~+eUuamV{OPaG-+C4Av2&h&ln?5MU13hG3AajbIrAq4rGcr+CkbSin70W8^zyb-$II*QnA~W8;yyV_G2t<(nd|)^knhXWkS!vRQ{0{gI{fs%QQ12sh z9xdk+ugJTnpi7XQ|4;AV0M4f+hNNfLsEN7g1H|C{erkwOT1WAy$RZEUL|Gn!5?xekl6?)#4QH8p6Y>5@ z@35NRF=Hj-M7>?7xp`wRBY{C;8r6EHyLQCU1A?;gqYv*C+p4x^rJG{tDlCx?)lz6F zzr3m8=Kk{S%P#bJ#E=*bIq4l0U_O*w2AMR9co(X`7pH(4hf65nC)4tmLfezRg4cwo2OFb&-fv zPRB!RiC)yPgjiJ#XG2m+MApkn*a2!{n~3PyC%`61G(AMmX6)e?$xkmj-Idc=ak0K} z*qhSB`a~LN!AKhEMV{Y$v`MP~l#2DZDMF0DDB~ngeXN=3leyT_nN?QHn5%|AhoWmL z<4eN}cYig#%A;UK>Kl^m=`;AmWT)wVip^Vwd;@ZZJJ8{sn5}Od#rvyG%g_s zwf>bl@|D3KDNf^GUhVAlN^sQNVQYvI{faoy!oU3~-PAtT;EJvl1@xQ=&MB=}!CDNi z)gaHLYD5(R;Et!~=`;DDME|bqpk$1wx?>(b*>xczD`jPDG?<&#QsW0F-gB@xC>ZVY z>szfb;iaBscYL<)1aSNwXhXZBq7$hyONx4_!!}~IQo_dyJEI_7$j;Oj2+Esgd%oyB zz$Gy;ae>*eV8=P|b8|tTzVH$23E;i#KSZkplK%yOhdb9RZBgbSF)P7kT6U5!#_LfYm|RjJX#(Uud`F=ptvuFj(WvpyPJU_ zB2t@d)Z#T`U0v`GuBLyT)Fa)x7Y30A9ajT_2zCx}RZ8MMO!s(n)u@LvPK{ z>X$2r>2O9YFSYf#zWXpoq!%<%0v{6@3W&qiB|#&6r52A_w0CcM($hr_@w zv5%1B?m?nUQQvW+tt}UH@n8_E%r6OJfuTVU8*iHMW2GLClwTWfl-+*_hqw3WDce!q zHm;Vwal*t)Jh>h$x9wonEB@qGAij@8{pHHr?Zx)6Cj5B$9f>R_ha>n$X>FJ~)5*jgq3^O;hfu zA?d&PWpzDL^4hoME+3Zw_YV=?TLV@!&;JMMfJHs#9!O>=viU3RyC(Y3p5Ckrd&GX- zq1^ATtyyZ9u7ON3yG)VLkYncbxh5r}X}1>QFE=;{m0w@aY zsW-OwhR>7h62hB|Glw4?#``_m=Vc&fRYW-WzO^*bBtzRFt{(wk^ito9e>)68J?g)5 zQQX^=CMu1$3&i!G7|*nkwE&M-AZ}7;Mk)^pHW#rWO_5H^k zB5##aK33wOB(A`EJ2#>}vK(oNY@wiijo)8~e!7>*)Z6m)YM=Rp6hpX|p^jMY{ro>B z6Px~%^JNyW20jz-ycjsvKN&fJHgKVh)ZcpbxAinoGo`;dFlIcg0tIoebCTwe&4+N$BSq6}zD(2+HYoUgFghJB%5e znxxE;Ht`Fk0vb!rQ(YZ#gpzOiKL}I-I4voo(hioyb;LK#RSW0a<9%XKwu+d^jNkkHjvKV|-7Yu#7hF)Hl0x*odNyuR>Ad?f-+ z+Ze1$c8$CG$4+I=Kb>azg&Z6C&9=2^O&J?=NojkI(2Gh)l$z;ik*ZiuU;z`}I@6yQ z&wTN>ZB--gg7ZHJ)PF#xRq&y{`hVw)Atjov+*@NVi~0mR6(qVUV&tlRz0No1&d2RV z-M09*eOeWtU2e6xnsq0|=i`%CI^pZaa>jS(k9f6BRwvm@e=s=<;hFGPNBqC{HeY<# z$E84hck08|GDi91uFxgx|43!4U~RRVEf4YVD=0eg(>Z+-`)h_4?22ODZN9F#F4Rxc zal6}P4E}5#2HX-RRMo{{nwq82tv7>Dnm$|;hVPa=(%;Hn`FidC$ODcB8zV>RQ0Z=k zoA|8t|L|;H(W`9a>B7ebj?eUxhgX@exOJjvph)y3?<#n(Z0%{N=KoI0hlwqZyy+n0 zk1uu#Ef%==cRlUP?S}$mcpDMh`B&)irUr%t6>F)BAn1+WwE|D7rclD8fu;&64_Xll zORJX_>JS#n(EInUY_?ZOt?vUTPq!cy{KWy-%&`AxV)ANNv?BluQR}}SoAkU+;*s+H z$lsgv3AA(0g2@_y)ZAiadwc&Rf8;>ucDP{HU0KVF5UDyAv%BK+{w%rD-vq}&B4_`H zrn~Tq>iHf9F5Msv5{m*-(n?6IfPjL8fGpkJNJ}i;-5t{1Al)G#CEeXiv&6#gvwpt6 z=P$UgJ9o~^nL9J@qdQk0pIwR{G0lnZlA-jJt5ppLOWn>0A7O9gV^CAFlP5 zd^$4h9_x=X!IKnMAe;auC50p0EhE5BXKqT2)ZmChF}>fk=xu@>TYX`5)zD6MCIpdL~Y1;yYWyzpv6IzmiBh#dXpzS#b=XpRM8UVz59k zGYM5ck7G=5N_oskB)0XA{NPy1v;{sql+7SGb=oDm;p%Zxy91cD2 z%Ea3Q&lU8{%G|AQNc96qf@Pu*&y5YW9Lx&(Cm_n~sk^eGgG%o@UN!riQFyAAT_*hz zX7;;OqQ798M{lRyd^Hcu>6h`{Gw}F1!HFC!fYPsaVnjp#FI)iWp9K?F%*tOtDci9T z0aXdb=Ux3F=fFeZK!on!#Ph;e@L{c2TiiOL+!H{^A_zuy;UIOnnL*~=J@(VTi}}6M z>n|MiuN+edU9u+T`p=9Dh>xAlTLvH_ zm3znURh-ZJDVaf;`vDovY{36QDV6n~@`sZ|h4j+^4Uth);6qheXYBA?^2|wX(zF3o zU9G(^z%+`ftMu{f#HgXzgUI(}@3vlc@K>^7X@A?OE9n&lj-?)N~ zsP_#e|HqmMaY`bTJ&|O~zZk0aB<7_z@c-r*WakB8uE;#b8F9XluS(cfx48%i?b?wk z(2mr>P0CqT0EHW9y8Nx}h2f5OkVP|@v8OQ0jqf@4HsR~lxyaz@1sW@}RN&-pFq^+d z_TYM^Lpj}H{W0J{nAJa&P7Oa1V?VITZd%vafd)GC^um$ppQiY)S&=9m-}8U78wS8I z}x2nUoC*l*)&#HJ%r&sk$lsa`~=g16GFIz4$`pJbDz9U^&L5JxTccXxCEIXl{ zG+J`ZIsABzihWyhM-~P@fDR6_16jVfI0gS37yhLUAIK-u<+vS4p(#552mY1P{QHVX z2G2VTIC`ac(=4X_S)HQFjqjJ}4K{^maBZXY>6p4jIoewBHAj^XH>I?2%{PZgr^(*BjJUtR}=Vz1EYasNg6#CQj@?_U@FLY z^kX1`z+-rhaVsXYOQk?MNmEd2L%E=hFrK^)2M9M_%o|_XF4<*l4nMA~I0cnH`Oen; zA}-L|3Vijti(o>f2}AAM3_ihQ4>$$ucOVnj4)_0D!3MG##>FxR6%#xXXowCD4DU6M zAF@T6n!``95gd<7<2VY0!vT9(6aQWpO-9Xs%Kd`!^ij{@U1_ng#CFnHtoOOP_ z(zoXaU?&>Vld0Ok7O5(^;9D>A6A)5*U#QN~CrN##Gx?tYD$M1p+fZHpv&@3#?swk? zSfObUCrKIHtER>yng^|A2$T`;~7?{doxhsg@8yWZ+Q6f|u2-4`9R zzF>t=H9id==qC^z5(PyP8-76EWTb}+55Rc|HbE^Weyx%&%Zn&bl0=ZjOB{Z}L9Vkw z?bt9hfe*C*KuuzJO8I{|DzcZg;HDAR5MOiCyo2{fq-1&322BKqQZE>^u#sapLa};&;d+ z-u-sw6#nNcmc5)rq8XV3z@?ut(4mZ}WBT8!LmS!F?}a{M{eKG}{s|vJs?PX7 z`L)hWOK$D8t1NCS326YR>n=qV+GhGK;^f5VCo?$!rT{Ck)hpi~_6>SPwL*-gwF zY8UgIN_z0wiLLA7UqIujuy#eg(I@TK8w>qF_pNdVz4 z!*k%v=fQo`I07flR=D&G7(V;4^`nc;ohC>|n+;^d1A5*OqAfiUW?eJQ<2WXy zc;{Hct6nwZaXzzaU$zT8cY-@YEsLxw@M^au;>4Vg=S}w8+9D#0(6(C<$jIoG5o&NbVSMAN(cNUx$M2X!>hMO4f_->$cYRbzFW=r z-YOpr4e34x+*E7fun|1ze}O%1fP}F9!cc60IinBch?hS$H>$>2raoC z?-p2=Pky+Y$4O(mJdzaq7kBULB|G#LTqO0O*m98^H2W1zl5A!Y?Xs=zx=i#_1%tuO z_oS)KpVf)l+aC!vz856wsyV#oQF75}?xc@Si+=AIl;u9iUEtM@=|l%4Ct24!ROCf5 z=`ZuYA}jcwQ@4R2>nZQ=tbG|W60ssD z;fcVJ-)bY^4f`)}Zt;Du`FEadV5^Vc1_FOGtnP)VcsAl}wSLhepb;Luxmn0&J3pI! zq@3_a81o!Exos>;M`9QbbewWF~j{Br7RF7DPn`{U-8 zR{J({VtsI5F%bc6O0Rxx3k&ER=8DPxZuOq*vLIj;x%y`pGu!`FgO~jx6>ay1p(KEF zNKlbh=`&2^v)p)+u>f8$DC%6E5yK;{3-$5UZ%XkqDVG>PAa5bBv7GbP*E(mGG+LY zzWmd7Riqgd(r;Aw<6)5y?1$L61Yb-kegF9OEp74>Cz#fJ1YMemG49uSfzP9=<3=?N z_`5A&AGo*{`e>i=uDr;;0CcpY^uY2vCy+!GtK5wZVY2h9U%1}$Y4ml4up%4{_>1Jx zZJDDq!}W4r+$~!kdHwl7Nx?{Qx3z)t3V5>a{)EL9@2P5t5TWGa;cyxcf~So?gs3X2 z^B?E5rtOCyO*-26;LN_$i=jMW+m5R6{#A6L1(TRVs7<=*B^!f(xXEFkt}R- zjGf%!|AHY!YpEbWXD2>+?6UYtZzLy?{)I~OJtn)|?StUCNY`+a5gZHA6LrW5uGGz% zn+{4M4H_OT0lvFWL3|a2lZAB@>MMSlq7JDkzT!S_8{HdWwXP0s=;B&YGite`Xj!|G&Qa8N7(Nat_)Nh5_`@CqpZLm}pnZMPX#UYMJh`hh8PT1y zXH3#&avztrqm=OC)#o(PXAkCOclzuw>HZf!M?%GMZ2?MPehK*0IjYj{;bVR0q%-j;R;0X6zz=C$2h{KC%h+MNB;XzfBo; z_UzZ(qTDj!pDx*J0d7ZM3uwr>&lSspUebRKGyO$b;S^MiK})~Up&#k#hw2tC@1-2& zlG?LJ*ep~u^+(!2y0sJ+Rw4x@NA${4m34bgv69>P|M}nx7(#BPvy5qZcuG3({VP+JhH?o%*FKEA1f{>pk;b?U2~l z>Eh!3sssLT8{4DjuK0#{MLY}rU08*zI~kx@uim;)$mui`g9jjfWuaB_eYP?qH2`9|4QD1l0+c4Kn<|h(q9L2Kv9jUv0`=a+} z>kFQq&kkr^sZPpwV1}LlW`Cthc$x~ljf*|g^>961W-IO(aKt+2@>KrisKI-#>)m7f zGYz_{h&1IEPf%XrzNUMsED2yVDsBNWQAvR^OTE(r{D3a3*asXHpibO z)?2?!97Q-EbJ%8qCcR`Zupbx;CfISUkKvlfCy>53PZfRtE%~hnH2-PS3;zjhak%b% z3uKkW(npYuX18!RD*yiVNi?CSn-_w+^z+QBoOyh#cj7GBXo4+) zeUiRKHNo%x11VNi>Ir%D6jM((N_$O2a_68Pco6IPb-J$eo%M-=IfC<2m3d3n_Pt$a z|6*1lDzKaw2rD$Ub*{pveTfzF?$P-%7<16ZCa@vw#njl3FK<)*CtfA~HKaWPG!mol zj)5Wq6I^a7z+z9H{$Qm;0G$L7%i+S{%~#3bSo-*{vIxK4uHwfW?5_8vYwr;*oq+%4 zR;uA_5etfb@H8v9HJtpqZ9MnX`JKPmo_TuXG%zXdrME^lC7NbPJI6IQ``k6)CLJ{S zNJ^%@Ve&mx6G7ixvMhc%VlGiguzV;x(HH|?a;lJ~Tc8F4F@U9TaQNNlfEYyowd#B{ z0ilMe`=^|YbvmER;G3at4n7OF>odYGr-=3ed*HM_9d+%L;bc$*LEBHnhs}v?gxW!M zFEKsMvlv-fs3trc*JlL%zPBmpQ8n6YE7xXX2VAxf-bmSDxxeMzUQpOWtGG-!Q;ZiCRd*_&#eJ*gDkcBD30iVd7faN4IP2!&1T;Lu(T0LtPEuC1FO#& zNQRv3(jBT)aP3F(CoMK=CPGB_SB=($UH1&izprYjcf7_d6T1A~)K5fO+#M6Q^Nhsb z>Vj&RHfJ#z9@S(xYK5NmZF#1vN8Q$|U!)u9+dk6LzWa3NU4(;aza29)p}G_1Go%>< zwka_J`&{fpBJWdjUzHU_TX4TpSto&O{)sp_Nj(*3QU&Kv6uLW^}9KH8lSof7xDm!1qW9$uF~NH&ucovWstp!oO*dE!6Z zOu1wfn!{jNkf}x*ln^jeL2wSW2YdY5lOOoHWj4ut2+^VaCq+sA`npAlC!XLl2OumrfYljn)GedpMZHmz9^J1gkCrzqWB z&Te%!9G7<39x+vZGJM}rr}-kWm;vm`2PfT3nW)Ksbn>cubV_B3L-ZmRcJHJ*pXKMK zsW9E4kNM;LH)XiR0y`6Jk!P69FPkZ^0Hiw=+Z0PK_CCU>BJ4s9L2ndaBajs}gL#L} zet0!veQ;m={iIYia7V(!`-K64g+z0KHuE{UKRP>}q|K%NpxxV@gJeP=PWG)cdhSbK zH;CBMw4Q*}@aVaC@2eP}*>ua1MWq^@FU3Ba7tWiA=!cX?b1%OFJ4LA{?N?~C(&B=_ zXlGS!RPj~O9Q?dmow{Y;GDgrPQC{Jz_mBG>rOt|7x*fD+Ek*XlYU zTXz|+yB{Q|2NOBXx1KFF(?2wPF+C>8?d{A=G2c+ zzxY1uT!i2~_e!y$fa)sLJBG9xiE%pZehH7+A=*;ds^fK&3oAxmfig>>EG2-wBYu(w zYgUokOr2Ft(`H00Qb?U5rSm(Us?;l9#i2h!6{fBLtz>fh{-@yjRH76{T zzV)#fU%<^pqlF+`PICJ@e;PdDF+cn@=WfK%r`9j%hWUnewzhTIiU+0RX6+DK)7SyC zgHDXq)W+_=LB3(!B#DpPR$v-@GkegYmi99Ox#IE!6!JZpJOl~F_}6jZ%Z~=wUNM!c zR)CH}E-&M{0eY?a0r=@)n+?9pUDM5YG==q`Jo2cd1Wk%mJu)2!VZnl%MSkXt^v~_% zun;JP4my%kj{suyuSPk12g6+&1kphJ=kXSkSklW=m^u*1-24=7Ca1;Lk7^w=gxs7| zt3=m>#8OX2bdy=e`m!CwJ%D}FwW--xzdP#?OG;!(&Rtk`tIJ&vlgN+8yBn4$>K7fh z4-7})xXSTjLExx94PP5$YiWjB(Xqif6j&mdIADu1a=VvVP5Y`eK{@b565sQ7;a z9%eDb1r3FPmS-4ZHWPX!g5$UZ<3bOlF-+RN9PnbeXU9kTJ#ajN=|bGB0o9p`e1JFqEtDUgm`&?u>5jYq+j`pGY=Mpm3ekgt74s@0* zd6}q8@*z*ZMHs3bx8$jaEFoS6Nci zB@SE+mzUG!PGmR>pTy%lY>w}HD6UB!-cH__tiS!^HU(Vk%H(0UXMEKAFeQJJf~+b$ zBgH3mDR)^UeAz&LMyIuflY15${J5#|%C$hSFh`C!_-BS$n0C{Ks%X6CpNydEn|F#t zfh8#n30*&vj&>-2r3(=JDx|D43KCGMM5|14WxSWlJZ}@10(>Saed50_?(5JUlH#7f z_yAg5Znio4ktbDNB$4Ck9k6B_)lT?6xRqUWi&88-H-cF<#5wGZiuE6G%nxGA<|a7%;7{I z@oPNhq!=H|WHE>2W6Qht7gFJRLz70Do&J6~4|-qdh}}Qq_zUH!Z&nRDuMw2exy+c& zNX(M8S!nwV3h;jB5<6RzPNkif^oE9lTV?1Gb&XbS0tL?ltN?zpasIBtcJo&i+8J=y zKfmmkr`oct+guiw;X->HuG1S=m0*~+#Q}7#)zY(V2Tp3EyuazXL{HiM1>*SSIE_uu z2-M{qS6PyVHxQV4`8{MEQsATCi1v^jS!ZkZ?aj8k%V`31A@TTRdFb(PdP+mxQmd6V zsBx(i(S1Rc(E({k<8F54bj>RYQg5=WeS!p?EgXgKLK8?41WtnWR>?tQn$RL$_(96a zJiv3Z(|dkuu7co;WOTZV3p79f40#o{vpae2PwihUU6Vc-t+9e!y0)}JOH{_yuT|k) zLA$_rRb2-g@}TPvi{%{F5Pna@45kZpwBy_eJNx`X;Jwm9Rzg(`X5gfsu4270CK$8l zFX4XMI7NlmXqEdBp6k}Be%%z>MBQ|6k^0x>xziW7o;3UjE)mCE3x~``R@-A2IwVHd z=Jb$+-7Hyd7E|T$*gZZ==sIGuWURGub=K#{zOd`mXK>Tmnj8K_1DdVw=o{ET z$hv{?y3b5@HW)4OXLi&QupH4a4_j!b)~)=mt6IE2w*!oo@gZHu0Ym9em(vlX@W?fQ z&x19zx!_&EM;<#{X>xhzzG-&U-aMo5 za|HaUB1_a61RD!|$vPrgUQ*V0wjwzA`j4jBx`-iox!F_JdbJ{qQ@3qAJ569d8n84! z{?H}+nUXBi*(4a4&_xYjZELQ@lQ}ia={m#_aW_yBG4Dcw?q=jPdBaYO*6BN%IrUlw zF`W+$0QaM-b4B0eVT)mm6?kqpG33@95afw$lX{BkxNa-8VwoFNv2~O#^WMDow(k0{ z9X+%P3>lqo3Y7{PHDf-`6Hd@#ewoGC(>8__n%J)66Q^cT%Rk}rkUG-aX0A$YBOWq$ zVV{Qujf^ITAYC`;*SSUo`EsQBsX3~?46^qbgMUXF!>i@0wqp%Eo?j=vua=8@{95I= zY!Z9xSVdPas{~sK?ZLMYkj|c8vc5`LEF@|-YEqtW2m#Vgj zp(;mpSrcqM({^5zKMZB%70pa#)YHMjrqJo13c_upsSy{~9y+CZwd$qQ$IH^0`~~(h zYsh#Q|H;w*>&49g&js^afQhbFQw{EjkjLk=r}Jz|>PS{ex7me#B08fXg2TQKW~AEc zdWKy;4lrO-pFFQw_N#TQ*ZtktH7ni6YV2H(Hgs1R zj@POhSD%*DL<+#%u&1kplL5;JUHI=0@a?paS7#{;jmAY9D7(uw@Y&vCi{f#IE??+i;@Qg}?7kW9ikU6mizr1Ar?sr%O?OeI(jVMZH|$ z6Aaj19M+O1Xg#FDqLUbIfC!YdO!`_K{Ra{Q5E+Z^x+FYaDh+yqHcYwh>7Ug)5z<(B zx*eNjX$dq}*=jEn0e(ysy(+I3f+!zPW6I`~aiZin&&AKa8X!te8)v`?u8#0e>q~8D`sz17BexDT^{{5rv(m3Cyo69!N zDX8gZ`!xLg#2PwtTn{F7)g?hYz+D??qgec^h*_!Nuh~UK^-*TTZg7awBK+yc0)n=M+vgLq&~{W*R`YNt zcqpRDZ9V#6YjZA6VhGpd6nR1!vZb9>iuNV*;`c+1AnfYCPX@*P7+s ztt1L9=uRy+&VbiOzQdOO#HgOB(1gOf9{U4gx8-fB>2)DQF7-gNH+b5g?v^GGg>dTmd#qLxqULf&zR0gvACXp$`hU8MP}` zHLD_rR&D1^Q%z zK?WP;UvIKs5tz0ExD`hALM{E1bfgVarZl^-yRX_GnBV)#)_rxiSy4whgE|2q3=bHDhL4y2~ zG-0Idz*ecmIaAb#hb4^s==A|9ZN(_8H4a%u1*M*r^CoP zWCMjoHD<5DB@eQ;`5ZR9rr*r6-a5e5`a}ggcA_+NcdO$DIJc0`@E(D5dUHQw(cD7& z`T>SlBs;wi(5rUFq_Lq=eRyQ(x$63N-C;!84CcQmS-(h<1Ql(ndA}&E@g@Gs zDfL(1i@RT9D%JueyiVCrZq(V}CF6+?i=HC}6-AI-zK{YXpBl%|2gd>CO|BsccX{o% z&C>$c_bO)ch6damGYOA4mlMAa&%%+N^C4Xhc8MZogB$#Zx2xliIQ$lCB~FN(`5}g7 zXj!59OVe+>Neqm zn=ItdhKDn>Fe4BoG@GJ^aO7D{9X6}!F0Kz}c8(#Jf9F?h_3vO} zYkHjN$*mG`#lZSFg>)^_B^7?EeP3Aiy!jGw*L_Ns+ZAaO=vJ{wNl6`Ha2|+zh}k=g zDEo=2skBmDO}A29{&e))(RHWVzCj--J}xe&O&93cH)!1UI1>P&K5)CtLEiOWKSy4- zvd|ayqIzFGGTwIjvb_I7Y}+0`TKtmla`q%6^kzh1Hz7g)+to~n^wE`kOy1}}Rjm@n3X){OLfepwDg_6^9M z^yzi5AL(16wYoOQ7ERP|gFPdj4r_7j(4!9)akeo7GLISusc0JHv1qzV#_shEY3B6n zfh>=EGNnIYTLeT481ukL!#*4P1QikY=4@zXTXyX>7)*mX_W}kpkFM9`m{ZQqfE>@5 z6Jc6DoJp=fa~Pd|jel@mZ>^ubfpS~e3p~8g^gs2BK zJypG#3GouWf1}Id1h|$*{&Cnf2|=?33Omxd_Jn=jyV@A1pxt9eWl=Plq{RVe1C5ci!UP_g?R;JuM6k zK+%$);Fr-X5ZJ9~fU$Cwx4`xk!pSN87& zXgTd5P${>5kN3cpdE5czbT)YyylD}se@2GoSvTn8c-iCn_pX$SQ5?LTKUZ(d0V9iE zO#`>0Ej|bc?C6L*%p>Z`%3idc%*1^;AY0!5cPZXULM@m&_yd zxXd!RL=A3VolBa(WB7TLJ`|%PN!j#s^{pzjFaNf=tK+&g3O=gzepyS)r7$`1 zmYLj0M+#jY=dgy!^9>YT$ko9``C$7d638#SnaYTXw;zTCq7s&m~0UqWE!B07f4W?%medsGsc>x(Z!#-htYRyDw$+tm4Jc zL?gah!*0&3a#p}KPjt&03mkTad=8P`HtRilSZRWE%L4VsK<~_sx1PLc=x&SVRp4Ru zZ|ciH$4B`?!1NX8RLs@9+7cVMb@eox=dYfRXPmCrjL(Z&$ED#kpwR~+7!1#TGG=B% z5@w?YKG-Ty-VVaNaV3jwf7*`A*aX_U45j&DKO_J6Dcbz%uH$Xg0YdSvb|n-uRMb&d zQylE1m}|(ZrKYht%^sdQ@HZq!`Lj!~&P#IQD~^sKlx|h*>@7M9B|?#{`6#c=D18KA zO*8?wXZLw8BcqNf^k^EZ@^hPHxxOv5IE1Ti;6}Bw!L*dK5exV!aatK!g^Si&5 zxoP;zsGg>4QbJ3VS|LqzblFy*nZR9UNO*-2xheEPq;BEY{ezp$TEO^t)0h$^8>+rX1rS^tcw<3%1`{|gIN?aLT*8Tb`dp?R}O{ZiDZf+WL z&>HNWwzA;wa6ggeBNtDL5#UK=N0%k@8zrrZdq}2s_vZ7s)OFsHs(@M;4jj;)wV+@%}o3H!% z!q^Fsvq*!N-MqAg%VG4cTLzLds}ISl_0Ply|3;Nweh%^1aa065;vy0!EUBK|)!ERy z4Eys7JaVs5WMQxld#{IWdP@Ny$)Tft6rwM$0U>lbqN%A~hrWk*VZ;!r&-3!Wu3rrk zJ5Ukp2*ldZ<)PE&ThQ+2( zherlEYxJg(_vdsp(h{|_U|FzhR0%}qI53A^6P5CXhHt!5b|Izv&L@x4{H)7&^cjck zlz&fwSw(?H2)(oqcGXe2d`(ae#|Dw~w0ba9h~aN?b-}v8J4`)@G3!0W8xW^aVl%z5 z0)w1Z;~;N&{R9Nq&*gbSPQ&kAn$%=vZfy3ZF-QC|{^>d}zz@&F;^5sCl*w4;Z1CgLRUN;r0_2A*-`MK878n49rZ zs76okRd%Zz0e@X-dWJ53x@a}~FuQdVIiAvBpp9pfILor0a!&jIMW%rIo24^xh}1)A2i8IifY!KrOvg_8&+-D^Bm#B|wC{W0+-%OG zzPRr=PN_UDsZPylM6nZQd37?`sq4L0m@R?X^TuWxwSB;KPyET|y=S$(k7YV}lg)1a zX->z5q2~riG2?npb2Xr|S-0oeFrGbU?N16@i>m=>$lf-DCf`5q61o0Z`pdt+SXtd} zilLyjgnI6sxfpBSdHWfYh5e;M0H=1xIQ*R%pRKfK^4zki(CWO;5mnoxUka~7hGvdp zB^5qvO&Aq0-TT|UKm|B2SzG{*U-WHsQiF+l3Y5|#JF9VWuexIJw}sg{D8p+z-*vZ- zI}fN`U(mU-rq!@Qc)0v$%?MND8nJyv3i&Na`5rPju4#xsgK*JyF_^W-kUgS`x(7gN(Ua4ea3Mbwb{xg?*8dd2vf}2og+rW8M z;R|dg+bTO>H-}p6{ykKGy~x@`&T53fmkOPN{GY-k{Y*ZpUBq;vN#`MiJ7-$KhYzxw zqO#5-#Y2QnIMb{Bv z?XmNv57A7_tHf-+1Eu+uq;g2-1%Dixt;PVzP`~X|;zSGcLmXB`dZTCYSnXN8RS7eH zWqO#Jw&z?oF3MWl2Iy(vY5-qLN$c0jaf^jQmNyh|OEMO3bX1A%(#<7}X?cE+d;RxP zjxdtl$TzQ~bk(2H?Pzkf!U;Clq`v#itON6n4}wiMD8Zv z$$`2+am9$ZH$+$bK&v|$XgcobPpTx*Z9WLK4mmwUBUDn-wFw&Tyl_f};TCv%I@dLp zt1r&mlXX~~)1~Lzmz|85>ow|Ux--1bp|*H^pLrJgH+fS&I(XQ#$F% z=_JGT^t?wsG(fyg$^3d3*VBD#dH7mgz~yU;F3>RDJAyCNEo4(PMYX6)RE$_x!-}H> zT6o)KbL)N2WEM_69A=83glI+)vKn^7KGR;w$I#nxYN&L&+H#f$yEY~zeS^+DCLL6n zsl9F3FFLB$W8nKidkxKQ)PqGVoQ;E{?)A_63Gc0uQ#P|;z`Cvku^`mDr|{R*LCj>3 z&~s^J)K~f<0Qo#`3|yDi!=X5jMzJ^33Hz}igGPkrFK3VKU|FKkO%Upo;XohAUUHXSuM0j>{UxsW8N31#>g4~ z7^B5JOT4RknJzh%6{*&D?JcOdU|uhcsTx`q%!=y$~@JnQu`JZIH_;L!-uck;QI zR6)~yb+NJVsNIRB1z{x~nsf9~+Si6;3ibQuD^U#P4(@hE0%hRtuiev~dd?S;+Cd4l zri_Xh3-3Ly^Arip@#wWu)=JjLwSnleJc5V2kWQQbV608{;Hf38QRzNo5t=JfP{CCIjMPQM+tMg#XH_{7C8sW%v9sqIi2 zWwh={Qbx-VUU|@7r$>ion8csBep?-QiDh*_eMk?}Dp8}2NNi?W3OaK4Ndd}LiCRf2 zxK@S)T%(rOq$;J}0NZ7Mu)Wx%{)$euG5tvx$V5Q>mS1D^hpKRAt3V={Ya5%W6b)f~ zv7Dq7)vTZSb~?Cz=GG-yFe;8uftafy3;OPS=4vS$abEt@uH zrWzAr1Ky%Q3^1{KStmw^JtLEu^Y^r$#uq~V;~qX6Gr~@v^AE@4mmE>*)(A&pZyhGp zv|sm0U07DE4p(bvPDJ;u56I8Z;DXVJ)HQ^6CGadpS;{356g4$ckvC+z_KKo@& zs8rLRL|Bb}>X11$RV{zk3jwzeQCvN^FUtr;-4GdLyZ%X?Kk4m**2dtUnkJ-F)|#)S z+mo7c=Lr{b8At4~V+_e5cxf0PfDuv=py78+?t}A7e3ke{f5xuIwL3;BPN}#u!^|OxZ(3fmh15TNJA*$o zw%cd%k-=AwTNbnMl8% zOGbHVdRU*isC$tu*X?&KIFZkiG>Sq@@6_*1ExJ4BbVpDlYNvX4I8D8VP=g1f2CwLK z6P)7(oFzoweQQ=OUJz-Ij=HWs8V2h6fv&4WUxG@y*60k-lV|-wQ33-E{x7kZLEt5g zlms3(qQud8z_28Sv9Ma+1qkDkHhl9=thmdZS)EPFGD#p&ljvGVdH)*t+5bu240rp9 zx9J@>VNX!Whl_pp4O1|&_;2txNj?x=H-uJNsNnf&OJV?+?ETE5^^W#mD`8IEl-!a` z>RHjq{;2yd6lsr(ETzRl7J8eUMe{6$f}9Q>>sm4H4qw$bWBxzO*#aaWi}5_=HVV<> zRzp~?Cz^;m+R(k85uMX)gE;$kf4skyOjjO${&|st?^D_h0YPx(hWsmivG0H#9XzuL z&0Qn~QfJPPc#*XOE*5^;`dAIc8|yA5@BA64FZ(%Segpax41_U+lg!VNEu7_~8_d_Y|G;$D zH^&=MwPE|Q4Iy7x&$H75K0RAE<%?11<`C8!#4XKDB-0(Xs&b)yA+U@Uz3gmb4-orR zeDe`(nUtK&ky1j(*n|4S#@JeF-j*y-qDs@Y#fVk5lbGQ>x^oQX@4kd?yG+NIs#}c!`8p5%0=CkTOPh>J(6Y{g`Sg1X;vzb}X##@9PV^ z=-faO69<8QKsv!Q%~I!;hUaVnu?L`4QRnl}RFIg*%WFoI6l*r-WU3Ftmz1sGz#ZRh zCv|s26%0|zU+$9`+n|ozVjodY_wM=)&4Ov5u6zGGs9^GGXYEeQ2WM`) zj3N2=i-kig80~_P!nE7^oRfFQ%Z?>kP3!l^vp{3kB(}!@6?!TM`BFTvp<~DD`B9-O zY=HwZoR?GcQdf3iIA76RsrO#M6LJ@Ith9(B;Te9Trh>lhvG@xo;S&b$k0x4^9I^A_ z83cyRon239&N#{8CiDWWQ#xG(yz2{p0HL*O%CDQ)Gss7`d_=r@Ke!|(gM*?a-=3_% zt@Uo!vJybRD#W6kf-5tYUSA=~qhJxTSI9|Cj7Ev*U}m%rRDYMzVMRh$HTI)%p>HnP zhylfEa0EoRZnms{b9*VGu`Yl3O+D$F!K9m*j;ui6G4~f^eefm}m^ z%K?MqU`I9-r#igMll2$L<;l5P%9t;)&y=6Msix9#pg{EF znsOftP_4U5t2l?ppqo#gb9GhCV7=F(YLF?DW9frWsm!a%9dDq$RY9nsv-G?40`d zMY2~ZeOZ^+j9S4nd5M;QNKIO|gr8o*G92 zj!-Y{9+l>ht|v>StJBN%1PlwBIe_(+7PK9{USGY$*5}rYmPR-0Q*Xa=|JFTO7#JL% zI;&RMSUxV6MttJpdPajRygX97GU_PsR^8gvi}F}W_c{lIk$cOR|9i|Bsoj&X^HVOuL}TVJwOrb}s{S5Tk#P9hUjJF| zzJ#3t;^IokdFii6l0@V-^uRhF6N=MK`yxg!61CG#*^+-`^aNn6=k`Ql()?U-qkvCU z4n>Z&yx8q&wCCHKS|S6cdCgTcy4fGRlgs*^D5JisSkD%L7yf1X{nKZjuP17qf{AL) zS^iuW?hV0DT}6?(c|p0Ex5jh+l3u_Aub)m_Bz<)be%C0@^ROJztnK~Jmv&>IkI5?;FD~nFe48#$ld2e zdAXk_Ef=fHi!_Wg(hV+fr!CCb==FQ99UFA=)SrpIq$!(}tZUK{nU9VP9`15S61*{# zX#i7~drFreT+WJTc&HN27h%uV81Z+Bd725xirlK6b7kiBF-|-Q~HIbSVTsj{z(59zht?;TrQCfvsJng(Z1=msMHAaLe<4AQys+652Kup{*%pG zn-HpjxsWL|&t+yCbN9M=E}NE&+!0~ve%0Qu3WzBKZR7ju!n&7P7N`{Gc>8NlH7{K4cyrLSC+24Uj_KLHpKXM15?bs5C2;0lLmJp|m;JU%redoJWMLQFlEO z&3#)6sGexV8dPlBhSC^?+@Af$Ka_wfVanP2c!cNfJ+m(F_pXrC>a}^08gAGxo-mwS zILX=1WV#+VZY}51qZYd=hJ3+r@6ZGKFa-o^E+^XoV9Be4-3Pxj^Bq`Wj@65UsiJQZ)}67Z&oM3;d#3*+6m? zanV^6A84Kb5b~nLhXSfc)g-NyuBw@ zl~6aFpsPo7b2Z=&#lQlc#AM=llk&~LMLywRga`^QnGd&eKli6cw?{Z_V*jvsF@MId zr7EBM4CvC4Y(>Snt%$>h9bW+Idrm1;>Z~aG4ygJS)7Zl&1@+&cJT#IN*%VM2-m&{Ih zvXIt}nc0zbol`uE`R`5T2qdn#x@kS;o+SVD%GN-ZZnmn`RvA1?P89)~aJ&=KA~@&6 z1*465Tny9L_Hz|$&QqYVsru=PK#elg;E9#&>DB?QXA1OF`Uvv!x@lg`gt`K+Xc`+Q zEB(gi`wY-inTzFoz|$~`0Y16WiV^w^EL2`-b3X3=z0H^Wp*jUKZt$N6wdTiP(|PBHF2f{TV|FlRF$6 zY5j}N_GUp0{m;2@K@XU{JCidoPxm>`tZCK`gE}(4_JrssuOC&r&vEH|cQ)S;*%-X8 z@#Ax+A9$JBP^`2&eJPQ(QC66BgZ;WkSu+u9W9MtCfdk7IPu?TpXA<(Z&UX=nv*&I^ zAU#^%-lX->d~?Y5#;HfW(6lvmWv8$f5k8&6ZKCJ%x`n52Y4)hwr^+}v~ zzPh(Ghv6#uJCBt5qY}!QUPi)$exx2mC?59-+Xx~Rcy}3l&iinmfx7F>TXsaagKq(q zmBVlus5&pJ0c*}r*ko3C_?1i4pV9Rr7weNte%ZRQGHQ7X(1Ow_z#RPlc>2n)D5I@y z0Rcf86p-!)38fjjJEcQHL8L^Qp&RLv66uoe7`i2;V@Tw+|GA#od+inX zYAV5*Z!}BetLj!Ee)O1zj(RVvYtQML0JZ(~j@7LqPBrVPcqcwETIm-CYJg9}+@B&qEJHFLkOx%v>q@rYP=R;4#*#}%5AT+AN(VUebN-$y zzaqM1{A-soq&$+6TK`Ie;C%sxciJFwpQgP7ezHsa)f;>^a)wLrgVKqwmfP3IF8J04 zP@O*T{H0{iIQK(EZ3k=jU`!??$6V)ggQ3A{)!rKlNdw5B+}&1Bg$V&sRed4U%~uLO zmx~F_g!CWIl5|C1XRHvzJHn+Z&@sC2c%5Mbi-*)!#frq5_^$T%gU@ST_pgU%9iF?p zPTJb1Ha1!mdBBgGaGfh9+MlvG&A-Et?bmw`br}IB$uT0d(`UE`Q_ZenH^>^gx|ZL@ zI)DAR!7qT)ALmc5e_3mJYlsH8IJX&iEV|FW>Z>%WY2rL<>NHAG1U8*KUf*3^C4Pf% zzqxFCHC*I-`pQe&G418Mrk>P(-C-HaH*2?5fUP+{d_mSXA?4zx)P3TN zFXPNET+cjT9K7mt3^J+|*`ha_f*Lw$V7A`mI$kZRIB*cU-G*_*11*gof=Cg{Oqnna z&@tdpaL*tUYdiI;`Lxfh-mLX6WD(U2FpGEMCjXfAYX6o_jA0I_v)INffBr{Bsi37O z^hktTs0LV+Q3NbfDsm|@ou(OCRnJg%Y5klm6`UU+jbr?G483dnlS1pgxxKLPzGR&P z0yplE8$|iA!|{`QMH%6Y`A}2;2^T0r_jBpdcAnGQ17EP@55qAq&qeT_>Ka(OpmEaT zKy7pCbvQt~Sp4-cfUn`kQ!H}4E?jn!>h^2q8ds9%_{Vd&Na~np!vQ%_af=EdaScNX6m z!M)}gEK8}aey@IYUCMB^`a_yyTnluek*2b8GSA8r#Wa>n(G9FR&uu_!rBQ%k_zL06T_>dTWRp54u=edGD2jDFdY+6`kB&ToO9RgsAMD9LvW>!~u4FPechlYx%i z`^CwTXAASI>WzWfu-xg@-=bf1ZjF|tCw%=xl2Ss@qKr@!qgZv%S0AJ6y~S3~t`>`I!KzU?Hk)lhu9?5zLz zRbbD|Je=VvjDTC`^J*27Ur|ZxWrGDgm)pH$)I!%mxcgpB{QZ4Puh9Tvw^*d`(Rlx@ zy#XY>K*KWXuZ5rV=#f=a-Jl?UH#~Ed8Gs3Wkeem4lB2JoE+)d=JYSiWw!v( z$YHI=lGf73H%ixUk^&FDT!Rk*sgFL9X7;7{uymgC?+%ig#-E4x^AA9YWj#Z`fnj>G z0LRkvz=Ge#4<&rqbX}{6^IM@Q0nkII3GVs z0w=-8iEfOvvEy_6Hp&M+SA>Q1-@0lOy`w+qZp9Sz0qANxD=a1CyxaysZkph`7WBbCc zMToKJ!3IkD>GCW(%9ZD#WjQHDREdYV0n5$L>F|;)asvGiN3oZ?xS2kMF!^|c@~C6( zOG;R2e%b0J0yJMN0tdOzA2Ax9fW+ahrX$u2DWZq1@@b?- zN_G+*`IZ(x2lOGv%ICp-LB6?jO?PJtSj$xFPvVLI4W-8wf=ZXCOY9;sM@W zvh(9C77p9|^n;&={7^^VuPu9y}$yW}t9z<@DMD9Om^#&Ke7dbaZ za=m|23XJ^vRSJ7sGJ?0v?rLXx{p+PORui795r5PVyM{v970pm_2}dME4g zX8%VK%TiNujsm~3^uu$3eVRRF$%UWhI7HFy{+9N?b*tg9!G;b${CM~zPIwob#H7$Q;Es@x_IS6j9Pw|SmYh~BE z7JKgMDPg;{rmI<=AnH6`3O+ME`*uglov=WA)BstVr_C2zH2l%hUN0|kf&MfGpZoi~ zTg9|K!3J!myijE8LG)-sHAMRN??)gd_z9c4+6Y>Wyyg-&(j^w5^k$*o@{ilnh}sMG zZCgxT+uTF%5j%E!TXkHp(6XNQbuM$f+VpXq!W_8tQeUH4G`3_J zM-C(nvtH=>{bcOnxnJQ4M`{F!4^pCof9vY=lR*1cu^1{&@F3RW!3Omt1CTYzL zmSCiU>B8&SF3ecsk37!aH9Mb_GeVc&8#p0p{nBnv8#^QgkL@czm(>S4-|gMZ&iFTf z2=8h>;m;QE%ApygU9&b2(gq^Rbh` z7TV_ST(A9`&Q)j6brLGU2Q=iLnLKmC77Nrux*<=#yDD&MKC!sBnDcEvsd5y@VJuYHqEr=GgIuykgmChqZJ)0Jgy0 zR}N0I;CQOr6`n+3b^Be=9Mvee=bjhnnS4;lEi4vI8k(?4wjZhkd!EUEZ>bpl-1w&$ z2HR)$$y1JwbH^HfL9zEUj((rTO34UMoFgxdV~Z!a%_jF)=;KykkQdTUbJx0@I z-lCQY~!__^=^uMY2>DTHAF+4lz3U?u^CGrMS_(er@hUY zhLA#Ri^i;zb51#7b>qeXsqxVwCQ+Xz8ZbwadWu@0GyH{;7pmpp0Z?8Th zcQ@HJ<=-2AAZV}V!|0X#e&j8L!b27%rW{mCcyDBW z-~oTMjxjyZZB#5)L9+CIzl5@ML-1x<5Jkcc{N;Z%mg(A{&!0pCK0LB*B{)MY)q$3K zEDRkuk6!%{m-!~Y1L2JaMy;5)X5a7I&JHt9Cx}B&DAEzM1Md4O&mX9%BFA2M+^=yO zqEq)t&su*X&+4@RM~@_vCt{ZFz-UH-m9Ljyy8jm3Ir(7Q4|>PT-S#&Z!%TLc-OX&R zyENtFt)Vz1G;d6L1CZyJ8!*5!A>g$|Z#)@jU1GHQVrXI)?-li+XO)>B*~3E{Mg&8K z7!%>ja?=!QL3cXkoQem`!!3IjfCh3@qWq&owRQJ-GNBo;Ci=NP*YC%Ttgv{k5t|=+ zM)0pzg3f#?*UWhPzaD&FM&|u7tzQdn5*ADe^$35R^cVL4 zqiKR7OZjTuat1)cjS>|=LaTEdEhgaj5}`QutM0ZB_zs-vEqv5MsW0BFJBySe!Q+qk z6Wrv-OvjvFMY+dsfaF>pZ!rWxI~x|Zbo;wdrl2mW&`OZ^2fS6bj9S&E4Z!jjf%XH} z6*abWB%Ww1pV+o0LB^j~i~$btrQR;%7b|0D4%#;eVf&?F$l1QHHPGJK(&ou-h8U{Y zM5M9e5WK^-g}k}+J)Q{52j4a3w(d)Jc&-UuWUcp>CVboIB6M$#JPp-M{RMxMKft-I zS5htd$qk5QckX@5b3_Isq-|Z&T`ph=ROjlr!bxA4TgZalLKvjH7=URO?#6!0O|x=! zw4E5EU{s^rt~kh12vLrKC8+FT5%@*_;OULg!JNsUrm(AwlIQ5+`T{ z9@szG<)bCIv1r_>8_J#E=ur#?Ssi5EV=3-Wt)B~MqVqO6S-@Gx9r~_Db)}w}_kaA{ z9z(hHEH_$ z5|Rd3jYX_O#CsmN6955K15f? zQbHzAN?eM6M`F?m)4N|cd)ah#&+l*I6QlcS%FmJynR)uHpd4T`_#bP(l{yi%eKTa4 z__&FQWr*%P&V)(DyNOv&FZ(dMUfuC}m90e?Md)8wp0O5#N)m$il+pfAGrY9thvwtl z>nt$aN(uIQ(LhQUh4rJCfj)nAFFcZk+;y?f4^x?|J9Q4{51ZcnNY%Rg11)E+`mklr zmaW?SvC(`LD@OEQ63&0x(#67mjPHRSTK*LrdDi5=QT@$>M3qC1$Jt0btRK&;wC%&QJjV2Q zPQ^KDR5!Z(7?c*QJl2Y1P-S|bFCPy-;1vLRWFS@pv7^U~Ioo?Q7rBSy7n{R}1UXj^*VX=qjMSgfcQ|$Z({=%0 zA|{gPw*lwknmN+UgnAM;R}inG@KnZvK9qAJ1qH2M{2+g;0DKc~o7&BF7VzX@K^n{( z6JW|yws%szlrlfk&)0BNoEiAoflVorf=55M=Ri9-mdp7#+Qqk2d}8h#^ZUp(7rXOT zWq29wAk9)jXdzJ$-C+LRRMnl;Y*jq&Nb{}2+4vb{ zh7$p?*fTADXxT4)J$(SCU z3ZgY1UP@Ic(;oG5H#S!uJl<*j&bjB^$U@Mx*Ngb^mE{u6-|+lh zjtPFUVQsw3BXsKTE^y}MX2Ggl(N#}7NYkV z`GL>!6)GC@*M!sSv4P{`rM`aU4>K&X(v?@?*VQ%;x?o?1CGqdDnK86i#)DUe7s(wB z#Nfec-5W>D^?|5@3Rq0d?e`8G0^EE&V_L}%SUr64j9lSXy%di3)PX=9$|9+7&7?08 zW4@1PWk5F@GnbCX+se++wCVD$&LWTDx!9-bTYLGb0oEQDWL7-`Nyj!Nr=E6x1~j72 za9tVq{$ z*=O6>k96?-IQLwxb@DUC<9l3bS@&|DCV7(xQ&K!_h8qY|v;5XKOKla6eW|KdHqnzk zGt+vb z$~4=>?@E%}bBoMTvO4Dcdo2^gzN_c45!$tuinm=xi|KzRE6AFRoCTPK9AFyRriOA{I*yL}?M6ix3wEe>fZ zBA_%{KH@&KS078vgp${pr9-GM-ai?#!2vyKjgo@&#W z1mPoM`eZRbN(OrTYLbXZ*pnI?~7pBmMlr3_;%FpfkhDH{gYweS69PHP#XC0e(+4Zi`p8Kno%G zrF7Fzhd5JZ!SIRZF%C4AoXF!=a`y(hPA3;j7?oV#9*&DOs%fyoQ_MwS--)fIweH_U zqgKC9iBddY)L*Kk4r}6oGg|IuET2Nd~_9VPM7}B6IrI)zBvc-+d&p zQke-?5qHbMHR1EQyHUNgDLXTgjJ$g!2$2di^6lG8t)T6zwxs*;@?z=bAl^p#C*F!t z-QLaX$|_ek*jO(_>rkOs2jQMOAEI~Ws+#TR%^(%JOE;tGh<}9p<6t{QajbmVyH|VJ z%t$4u($<24uE-!TNvuOYd-3DA*2(TE)sYA!;SR*z(_&<1*;56vGn@!;F2$&y}e2J(#HP6uzOijxX|4#vQPQq45BBq2YnfnQjb`M_KVO^B z*6*64J@Q(PSnd4VL&+SGcgn!|>c&pV$Yxh4|1!BDXJp{QEI{iw#6>9RNG8K~}2jc)2YC4U8$)8s60)R?$JP2O-!s_N8hf zI|n^zUCv`LmS%7KO4sjKJYGI0oEv^+fV_?u3)Pqw@t4QV@_$=FrjJevnu9TR-8air z=J~?k-q>K zmE!@>&_H89g&4v=tCIMtMJ(%y$oT8CkW*jnU9p>4bv71!vv|xU1EtJoJu?jEl^MbO z9$gA}26bA#Ud!V4vnX9IS!xx^{C)_(0z>{H!vGL~iHF}v{;2|z_w%myUHq=gu1hpM zFm;X5+&e%CaYt+nuXP{vixg8HIeKVN!W6$?NA@f8>MlP%0KWm)fM6Yj(q+Y%0&FZ} z5r6~KwkU|MH_)gXygKCrQbSc-RHhD_8)iWM2nkC_6-$h%1@iVZA^tJ{fWyY!4ZHx+ z>Pyf!sX=15pI6;@?JveJN+6xfVc<{5jGV+OPd4T;T>iU`5lfABvbSHQ*k>PGK=o(0 zXZH<=yYAz2R1Ih(*OzmoCan7=C-`a0lWnUHRS;}LRO9--@t%8*rDpaNLorb>LOclO z8R5=5eNYX>T+u(LEwQ;OMIMRx>J49VMUWn;#XlQ|R?v0=2UF3@2~zj|Onh{eNFx`K z7pi?}Zse*#lahEv-gi^Be|w1?`a0WgWQQn^}`AD=I-UPEYzhQnX-6S(%z~4uu%?Y`aFBzv+6eu z*dV651u-M%UF4@+oi&l1U!4vuAB4kAuz25Fi64UBnL_}P(DM&h*d*bKm&6RT{m)8; zF>>Xos}AkosKR1pUmNk)B$ZBtz|OQW6NFFU1Wb$VTtQe{yfWXnEDcI-FD}OtMFVx& z%~`d>EiVIAMsQmZToZK>rs~@isltCRIwD4ysCx~H76B!r28P5vTK6pgR2hJ}(rIh_ zy^G&9u#YcT+UuHw+f)A5>=s0*i1@?@Jtm?zrwj~>2UQ{v`?p5O9Sz|50MdBjS??jo zQXZeY>YB4Ef)y5wB!LUE&YH&+B3gE?@(IG`($ZEe?}@V=U?3KV(hyQS8#a1UqmP_M zdZj`Z?@9r9a4j*Fy*S~nT|VWCiz46;xj)C^u?T$2&SyDwg=3cSXriIMg-`Q^*a-rQ zrENdiVP&Kbw&}V-z8$e*wfd<9nu|WhJCw5yZ%*3BdDyCsSPob=7j@B6*|8>n!F7i{ zna>Lf(gY2Z?JH0O-Tfe%^iVhEqu?aEl$w0;B;vy!11~K0A#H(=krY7_fk;csY0hv0 zzR~`~*2J**xCd|;Jsm;f0ODIoXDv(LI52YXN<}4ez5bdAverR%jDf4vY#H&A|L)cl z(QWZ=5K1W{5dmhh?;Gz-7P^oeHAwO1uEJu8n9@p?C!4 z$sq}wFHoPU9swFu8u@Z0!T<(4U4s)j{?NpffN?$l?g2&C?N62GU;NV@No(+d~7>DBZa$f;6rCJJ+FQr9~H1^5Gvf zTt|!#5F3F)CTH<`n(h=`*Tj@Js;*LYU2}lG}V9DOzJb=yp8m%X#gd-``40WkK zTPT5y0F~Ky7ys_^35BSz^t#t;O~wCGN7(Oke=3J*+*2h9%>WKSBSt=O(EE#gsM=o4 z3#tB18rhIl@$h!d1N!rM#K^tnkGEi?t=6X!BnxbkCmL~{k32G-wCuK$io^_e<`*|X zszI?0y=1nyK^s~q;VMMT%b3nP88T+PaqS0mzr40MO(0Z7ycFIvYsKJ^#kg}~va-h{3J>#GV>dc{j6<1oC)1vf-Oggw&Gx@J zs~b7!s>!)~u`}OCm&shh! z#rf2ccJf5eJ?z@k5?TkFZ>X6ldvm5;Nq+hKEEjI`61d05B}LR7Q5ZT5zZ&pf`%Ub-Z%gE9?O#FgL~vbW|Zk9z`{+N^XQ0B#%4zj2N5=(>&q^kQ#e1}fjTs35_{ zhc#Mg`WZElWpEtwEgNtkoA>-Dw?_$?6C+5V8{eHrRrs?`BPJwmE%u7HglNvC4yJZb z3iqN$yswjYt~N;LDHXOYw4W?^9Z<67Ipx-l?J|j2GTzhrCZU2n)rNw)nc#BlXKwa8 z=wQapAj=tId`?A!Ej|bHX#NL1*}xFFawWWmOv}1J*Px5q#)%i-0%dtC%XykH8^ldT z1p~#l7Wo7!&CsxF*QTHA0TzD+dp2|qo}4ctmMq|a5s577 z0%XKpt`edcTDdO#8EIlD@&T(geV*W!Vp0X+@(IZX-zWG@P=Ms0&4Qadys%UA#;bJ8 zalr5!SM^aso`Z+ah z(?hkw1|hVfFOCHIAKEiBGr|BffJ@76qg|-#8N)3=hdz;MG@lumf>42y=VqM{hS}7E zggz#nOnuN&(~?cd`Ib1VPXYWqH|&Q8>9GZ}J^DG+f&xD958u0X-9#FhHPjz5!V-2g z&NhcW&Q1GCynii``b(RD7r7Ke`HQ0FTd5k@Pd8yM8?m4^)WK}nmw%9dpRkbxwM-;> z7R?MyjD>mdf5$ga^=^NnakY4e&XbHfiSRPrC_)ud8u#&68C^1*#|4!Q8%2iTSYf(_ zB4We{#CLVi0!IgMB_k|I>EtL1u2hpa+sHbPf@WWRRIfe*z|w@A+;4qv-IpJjYkL9#wFvEzN5Ry3*yCBw5$Tw1u+Wpoym5lUB}`ns!}xdH__cD?=7 z%~0F8pM#M)bL}at!9Rm)2be!t?|H^og>5M?Sc7ErSG)ZaL^w`r+m=a1KI|DZhgs^! zGLz+YN|L~HRji2cXPFUdaK8UOeDrt5QuksR555?6D0wKO$;;UiYi<=SsUPQ0Nd~oB zM-j>pqkk0Ou}(a38AU%#Mj9eR?WUOc3|dcZ|}|mW&8i< zNlMdEgldHFALbV!bMddfs?`JjaKZR)(l4@45<06;XW5LN_DF`;^fpeIOg->#geJqg zn4om(bP8CL=})WfD#-bpmc-?EQ<)k3&x9;u-t$g^RcfXa*XX`j#b13aH?%Hzi^~;{ z{)$EYULlTp9bHs@Kpr^&^chlyYc)PIN(NA}Fta7YG@web#2c6Q4YF{?|FWY)Jtzg4 z1gjZBlrCrveRMv3?%G70j=AM_ALl$>`b)M*d5t4Qm=SF7Hsk6(GEPt=<|>LJGCOvc z*ftzG!N(`ML_3sl{#^530SCv?xpr!1-HiGn;*Q;FTst zxVKd@Kn0=tDTXTV(t2WJ==w*_`A5UC*4 zV1!bKJ7=d&I($5;~SjOm;?W(^XY#p8~@u)3|W{FB0 z%b?&;7Bv&|(~K;Ze&`o1T?xjFLdhd=8}tWh_E}k*`JYJ40{$Ze|E`w$Cild}EPRt^ zq{TJ)UbJ%*sf<_zZUbN9i9Pz^-!6T3ckg!~&i zN-hb7j8vG5lWLwK!%yZ>ggT_q01R(~I)drl z88S@@zRi}9kkXc65Bh~9j!{Nfd3n2aWpywI??)Z>HC%msxlCh)O?t)U+($QZtVT+& zR-|6!_Y>ri81)l-W*CR8EcKpm8l{sn|4$=d1_l+WLl+eaod~0nP7-W^z0bb~>3~P7 zs%(L*kESJ|nT!tr&8TU)kTxEcZ4&)p-%SMA7WkNF+0=EOz4=!yd5|axH?Y5Sz8TkC zGfp{r^Mqs=U=D>i27>aiy<3z0Ab42k)+(N~0TJ|Dk;?xFWMg@0dIZe!R=yf$sVJ%? z)1#)LM4RQN`-TlDR9cCVS(#g8ju!=_+6lg+yR@Iw|ELt;dnez zR`Y|tx@LJ`2#lVa!r1pt|8joLZ<|{yDue&;NfE3)#5sNHq(Lyo>IC2awsUv{Ws|_h z43~5PDE{9MX9oW4LA}c%UHR`KVCbhW&(Upmzu41j)B}>?X(w9e)X6VL5t@j|>}1is zELe?n%mI**%hs4bmR>1UX?eZ9$l-RzUeYHAbd4c*n7lE{!m8mNKeszpRXKB0$M@!A z)V@mS_?$R*9tlGFy)r}lf$9ypY1FHK%<&w3&`vWMAR|@gWZTF1PX=;mk`bONNhgFE z#G{B9^kma|0E28jD0EC6p){Q#-iF-6ug|%Czbt=TwuJfyprZv0+d7S%8cP zGaRMrY=J(OuA~AEN=FRK`N6n91|4#lPt+(q&S>aX5ZtEGFkW{<%8;EKg)x@=SGoq~K88naD*8QS= zA`P(#tM`72_8*A{h^ZU_c~OpQFgmYZ=t+D6%HnxngHPBxNVET|11gyQPr<1}ysiMY zv?pY=!Ybabg~xUrmf5#fl<)bIY;M_)Cl*uX3=?oK zH4i2VShBXS_!&(5rpnV8s{&DB1}qg=>0}Bt-z%0GIDogMiej{U6q~)+8k0@_7Z<5=Kv#g2ZI`i9C$W!uW{pc0;ugG#qZA%Sam`HR@N1|`8zI$fq`-~PR{26Py+=!?@oiHe$_ zcTPH~u?4nQp8|Rz1fLkJlTOZefhbykCMu=4O*~zVXHpQMkve==l44WDw3p z07R_}nr0lCP;@jv`=6FY(U&aYpK2u+bH_k7Og~0atz5~5KBodG4>-A6?LB>L=&1B5 zUfmp5MF-m1M^9~z4YNoS)Ji+57#>8r1$6bjP+SND5cN{A&R7mu(KBDY+XfhImLq## zZlh%Rhs+5Tqe?PJo53uYb35^e$N%tMvWPO|KPHtyG7HAHjPr~90`PoYdHMuhR(5~^ zclbr+ST#=6-WC)mW#E>!rm={*Z6e;412s@&QWCabf~`BETxlfMi2gs|DGEK zumq3|WjnR5D}tY2=gO@!iFNv>N!ee=oC${yq} zse!fsB%$tNMTzqd)kM7{$Wz&ai>VZORaO+DAqA9?7b7xuwUR+9NM`u)D}iOYV7yTT zZnJJZU@MZH%3BrE(ynv``09&PW7T8A3C@4vK+{zt&li_n5(DS)rY?BSv4#u}=(SGI zWT#E#KK_h;82K)GzqL<*Y%pRC2UNCABK8l?ABdDA+x!#bE|4mSD7=vw^$NxIRy>U> zBYhPpHsgWnKS2E@N?n)vQO#XYSSbBOD}!+R8wxcT?a;6+gMW#AWqi!e0w-mts*lws zU;Z#Iavfyr?yqc>4Ou^%RV(CLvUxCTJK>N2aagHrjJtJl8xzCkF_3c+OC606l^S(Z z|7XJws8kTGt*Kr08)>^WBS|00foAzqohoADgf$Bdf5we$cqU9NB3w%4v ztW(PTcnw-W3_M8g>Uw$E=_};^Kn-3wn`m#{AJ^cDku^&Xkq^Ag+nXxJY5v}jWdGT= z_sE3L$+kWWpaoK7cGvv}9aAz=pq9yiS{b7Jt;M}^?5`0xR1}sNzi8}|#C>IiJy-nqeYpMpnmaXu6-I*#hgjx$+ z^rzR*?7OJZ5PDT2UX_&JZsBBJPl4|%NfuaA?N5B8p8$Df7#m|5)l8BNKovfh8sTw72hWx>#4C{oRq&SHz6jiIVPPhs z)q?0b1~-x)^_7kC#&kbt5SAM9KHci=oTmP~J;e)3`T)S~PCF9hdFUr9&|C&dQl z-^XVEF&SStu2Pxf)T7*$Ryk;+D@HGyM)a*CE6q?zvj8C{B3=&7!ON1@phzg!^c;t} z(G&7y?5d7DCh(s!DD?u|>H6I*_rvPCrpqW^P{Kw>|(a-f42vf~rV&g7Q}+|ol+(YXsOWxjyWRQWI$zf8LO3&4X#7 zA}rRiJUajfmP)g>v9S^@9Q9jO1bJrs1 zOr9aBu@X|?il`-G+4hcyf6LutCKiFK&u5Q|(O8fKK8@Z-G;fw>lGcXJJ zE_MLlCGC$xBe$_s(D|qPTtj`3Tt=Fq`SKsbUmu$0R{_)SQeV`CijdA1_f+DB5T?J@NGY*4#+lAX%7S2m(=Bn0<}b-GDD8BEq(V`# zG1V3J2i6Cz`c0aX8hPN1_wW|T-g(tDQYPEoKLxfPg!!vuC$lwX&L`sL<4Aq=Tq#U`eoZ66`!TP5Urq*n8Sv+>{Nv{ir-@^k=2BeA$wfsZ%H+$6+ru~VBtjqguY zb_-ppX6d5I757769+zar5WiF4NUu7X>Mzx*?vDR37z;TwO#B>fqBjIep z$JHO%k65DIo9eg&W+_lL18eb<5s_~NXj_uutC>jLShXsR{O%sjE3fwmHRyTQy=ArU zjXkDJEPbze;IW(9E%F-}2^Sy!&YCW|LmrWoYT!K;meJQLfbQMbqnx+WCGDQrLK|Ef zV1v$}B*=^zzd@5jTeQ%sCUOM}yc8ZTAfXN}dSmR znkSYGwvG#TD%xAYryo(dtb4X+7C^L%o89Yu#oL5%LQNOE(x*7cjyaIrz5o~Jul0)4 z^AiORXFi15y&Rk7&D1@3P)8HX`T0XBv2g|<*++*K6Iw}UdtX>|`!spS?CIb%JtNLo zvf4&h1I);NFa6W*j36uO-oY#zgvhjdr8<$T#$zyH61*<(5qN>h1%osHU7q~q%bmvv znW+!8OqDDRDKIT4A!{NoVN1>ikPU9R(q2qyTE(1_8~^GM`NT>Nj@&u~)@77Al_j)h zm$Lb)((9n5rHNAzd`)&^*5!y}p47OE-?zfU+$N!+3uFA!ePEfKu?Cx(^)m@X=)nw& zUKac4v-1v@C|+S>LNVAmTC}+skfABr#ds_mUHQaW= z=I?x!zK@_YvcDsl`7r~x!Zcqy3AGgP)jGR~(M{{b&1N~So5-rOqKZrRQcyz1w3 zeuqR(O+0RNtetut=k9OZaR@s6MQwp`9up)axDrfbyXU^5ORc;=e|-Z;Mo79s*_wdU zAiptWG9k`P&^=wK5>op3W(PWN}U~>a}Wk&Jy?<&-FJgnFWtK{*yTA7Sh@k_mX^y5#aX~K9=<7Tcw zt`I2}nBONPmMHw8?Uxh``z_<$O&w_R`}D2&7Qn7H0frr+b&nA&^L3VS21s-Xre6f? z-b!6*$&ud@)}&%RIr!`VjZ}eBPk0hO0)ix{FUix>Itacx*B(PF(YtVJ$!`H8&_!{O zanVW1kGukOM?d{{xwsn6{3P5@yx+2C^=2&bPiM(SaNf~#x-MIeWVN;N?BwQf+LKZR z&|NnC7&ymV=pwo{R`AGq`h;^hLEzGYZJUso8%K#MD{)4Z&v$dTcdIW>4xW~S`CVV(xc{vJI2kIrxK zn7kG{JTfj;%Hh0|$_itpqbklj#$hfX5JH!bEyFp_$8=n(l#f|ICmsW0T3q)Bf9OnU z+*l36;&}eu9cJ%4{om}y<34F^&0Y5Q=ihD@P5m?9VLIXuuq>+tG8T=+%hsQ_>K1!h zkyiC(9=pKLJh{{8g!i0hVH)?q2pT1!~d*&-vRG4Q!_~U2ozL)05zKX~^SfvgjMO2fGR@yC2(R-Rr(^URT64Pd*SDn+G-ePfM3Xm5X_ICm12=q9fgE)NBl~^clbw@O|mPGxy1^tOt`)M z1Ckx^XX`KGqChxU9=o$MDoLX=QSog zT=*|9?9z$iLOxlGP)1z#S^tJz347On=BT0ew`U)Vfk>y5j|2z#BQc;Ha`*wGvPAvw z&m<;Ei8KB)wt7pA{qsG4w9VTatfryWK6%>*N;calPn|`#$t1t{B!!{`Uoct{q7$ z7LK^6*n8nuTQiO~tdAdk>dzo5M?`12Mm&Ro0u?t@JX|~wAJ+q(j5cWs_?5NSkNn3^ z0CEPRPyHRe!Wgdd2K+nH-@+`qrw8&qz<=VT5%!+N$LQ50RvAflil6$oyQ{-Ke9i(Z zFM`qBq5k5(9qSK*IE|f_sGg1}f4ic8mbYV>*#04d0p)+v{RokNP}Awh=9SC^g5t8z z@}KH|#J7KbL4oDNcO@4{M5vGO&r8%lx)Zxl`Vd9e)ojk|Kh9i@tB4Oiy{3N_&@4j z6@qz57N}!be}4|aOpX8k^^eEBw*EcP)BWln|62CGRWmziX&vbX$N6tCks>(_j z;56N-{bd|yyp=>M@8i|-D zSI&d-$hW$#EjF`yfwgwmTT^?zT{P_-wr>4uJALX^b^)BN2mk;;07*naRQi-R*mD~m z!0chMorYP=(JuEUy4LqEO`j zp*G$wKzZhjTx_+7Z|tl^6XscQXSppNca^Q&xXjL;{6;$ibuH-`YU>)7VOx9`)l7Gf zjm)2F7ot2zeX+>6QU7ek_y?rAbE)tAoLxm+VUe1n|64blQYPMD*!Vl3D(fiu|hnoKq{?N{7 z&O;&pM+^N6;N%oml*t(Oa8`B~`nPiYB&uNujmwqftQYDuj9R+?vL&KP5jO^x;r7~JhGZC2aV zYGa0#*fl54urp?lv$l>l+f>(tbof4{4%CT3EEN^e{=!_J&F&KlcVY+FMM+9+ceA3Mp~kzXEWG~Ry3F*a*-l`Y?}**f9yMg5n_ zblQ~a5_{94IW}cvrLEk&&AQb|&a)X~D{bbeAs8&Ew`)<}vuBUD^>uaD*wT%vd%N~v z=48%Tv>D=uR}|T*tu^{&AUldDO&MX8#d(-vH+$p4*>>XOk@gA(A=@A2pWZ^ z8kE`cP)O2$C-@oHiMHx!#FqfFfbt?@F<;aEnt9j>|0`v*KT63q-ZlPYe@Gx6kx+^L zP7gotsDBO?|FN@HJfza{OCUqA3w)hqXa09Vaj}(+8odkuyT=Oiy6mbGr`x5+PO(yC zxpL!n>wzA-?$o(<>XfnYVe_n{INw%oYlNQbwozEg^OjTR*xd2e_Uy_vcJlNwHUvs% zdjmc(x*PeUH+~Xy$JXW!YwqZ_1(U~E9hN>f!4_S7>_n??f*+1@91A`2;@WNK<8|33 z$4#*-Pnc$-tIBL8bVoPk7{`wE?`?m?vVhr@|IyviYG*(%T?3m~RaRiDx78xg0+|`= z^D6WOuR`47>EmpDZLKx7(r)BiWod!E?wEiGm0s0k}A@2NnldQg(gT`&L zQ{C{PUpIe(y|R9z&4cZ}4tdeGytE1QkxoPZ1Ny%N?YLy&OgkNRX?<;-HMMof?hGj_ zwDaeTL%VLl4DS@X95}i_*Y(iT-6-?*r_Yg|XJ4fdtFzW@L%Gxs=q>-O3M?B2M7mnr zpqJ}kL;r)t|0s!$9ov6@@uTy5_9vJ#nI;pQEvY;(HR&vaz|IQ@A$zQ1@G*>UutZ49 zC*Jy<14SdNIOL@^7kznR0O52}>V3sO>$q1{HWrh!v01!8$kF(#=YIf>!+3jc<3sk2 z#h-@2ZMW5RFWLvs|E4XP`Z}vF8Eu_d^7ZVxKiFTL{SBKl>SSwaYqqu$I=ueYaG z{l+@-TC?@1GCH>UJp1rP--FMTj~UMryLjG>R#7m*UfB8v%g+?r^~Zh8E}8#UYiw?` z8KaK3t51BNy|C_&*3h-p&YE(aT{!ox!rcZXFlWrkcH+1TZF1EDn?CY5bb>Q>(fpgN z6CLUmHBZ~6vu?IUQ!ar3zD;>o6jj?BPJFL5L2<0EdjT};vBhJT*n7_YqIIGJU0E;` z0(lFZkxrz4#>S%)f8*kh+gUS~SZP5O%3Np{%zF#I5LIl;w>=33*JI~TxykeJ2W{2n7toPiZx_#aI~?OBcF{36Svv%wvTzvizsI)Lu7v{J3Wa&OjjSAJ zbn2N3J_m{Fm?_TKPX(=#TLybTkXC zsH_xyg+drQj6g#+HFzX>irUg_$V7C0DL)$6?Mr`-gq=BSjQzhW7TXqd)J9j9*k7D= zyuG}2yNxI>wv#80wlVmA-`2)Pt7&eBQLMLrzUC~uXzo<2YihDf=T5OHqpIv}i|5;S zAAA;{`GZ#={FGonr2l*2pE#n@K6&Y>_Os_#S_x(jzp&&iq&CyzDf);)I!2 ziw^iJ+v;rOkW%~F8_!2xT`=Hz_O?@xK_@BSo?5pJnWN)K6gcJV4}+;sc8;GhG}P>T zefo;it);!)rVg#Jcb|E@y;@gmYigUVq9otG`__vvcsC0Az0EG1GYJEC)9tq}ud&X~ zZo7WbYH*B%Z$nR5Eo@OVH zA7Sr069a>w+uYIB_Q8u5*&kM~x9xED3?1KhpM4zc#6qiWZpNVGQ2XG83+;(@n{6u` zof{X=wQG)>VQ)KazO|w})#WAjzH?5pm$q%U_4Ryzy3_vZyc6slpid(P4HiuqWA8fS zIQ#XBt5Lpgd*^9$?fMhv*x55CSR3j)8#DT>?_Dpfu;a%Mw*@F$H3m~^8k=l=Q;Th> zZx>CSi_my#OmES0(Eq#{<8AiX;a1bsjHn)aVRMaramhJ$`7v-rD@u(M!hdo4akgUP z2K)Hsq;Z>_Fm|LZ!C=bI|FqmX;8=a*#*1xed68Xr(j03*oi9P!i{?(UUp)_-0LPDQ z+8=)6YX=S6(fK{n{EwqW|Lm*(mFnMD|GGp`Wzi#{W^!M8fBfG}SC@=mBUMU%He0{w*sACpd?nu54|b>3y&}__8)J%*v3?rSzT+pT?PHOc*a=!&2z7y zBR0)uj~M~EZGnF2uxHk7g`YRwK7Zwz)(ZVHsz2r2THKNK!Rh8QxUfl%LtZfdz z-wCboXHd?s-Eh7=xqgdns%f^rzwA`2ZR^A!U7daM@>8K3rrFqv66uO(Fwpq#H(hL} zOd5^B(0V&>_9VM{!A$%4GcN-JJB_>6|E%qf_(gxDD=qG^pWb|hoiJ_${C`Y3&A~(u zI-Pev=Mzk)VnFm8H(Y3WC@;o8?Y-xmXa$&Ue|Ft=n?G^5-Fm^vcGZG8pnIoH98zI7 zpK&a7Zi~J7q`B6N0pzQXpJ~%Z4zYV*T!VpxHt9hQo}NEzqIF=I@zo1vV=#8O-M4%V z3Yl+{M^@N>qdY@HTmCup`dGmK;g$6m1?;qce&abdal{b2^4RGZIBv1?=1j(KqW$ve z0hav%Nx`#)CWYvxD9IytPGRz>c)WtCu$%bfE)z!d0*ZzEzMX6;c{Ax zt~>iGr5v|Bbl(RCKWZSf$eUEcg@Paj!Lkd#LcAgfBg~3zf3ojC{c*#zrJXzL1{+Z^ z);@FZo2|L04zr`>_J7X(p`APP2K&YGFJn}O^@Ndb&Dft^_9^?#(jVAeD{m9JQP0n` zk6!v8_RD9#j**^s!TC7bK7RL=)?ElE2Dsm~=wIw@i#}7u9`0IX(k+BB5?a}vuZW)`gauEdZi+1-5-%=Y)7(NRQ#JBCYtG+FY&UxhwI98vt zW!oONbu}yPx=a7o{^yz7?Dy+`q;igUcDnuDW#32ro<)ba69Q6UKVN#AJ-X!%;Lq4e z>tAngI^}Qd7tepy##Bs0ncr*w_s$!vt^mS|^1fmAU)fCyKW_i$mluOxm{l$xX&?K= z8?3z$BXRK3|FY;Sws`6r?8(jd*xk#%3Bmu8{bcF?vo@<2{w)2S%--%`AY>InKzumv z1K0kCn*WX#{FHSGkL2B7r1n;m5ocUbk}{|gamKU$xT3?>#{dDGjh;_n?(!`d1|lJ3 zDG!PpI{|olJoA>hF_c&0M9z5fj1=bpA)c@f>GOsmZ!s6rDj7_t3hQ|=Z>7P7Rgv05 zxtKm=Ejd@tEU&OT4lVyt7-QpsIOJ7;aA-3G##}s};H-b1zU}34svYYuGI$tAGW`xU zhL=(dE8GL8rwfh;HwoEO{ma!CAG`Pz`^2vwwMSQAbq4<4e)=)$xV`fSzq2;T_dksv zX`j948H}o%{o|EqV1}^DuKoHi;8>NQ9vK;CmPbobQ7GI3KUzUI9>7~KFrSG9e*|EK zK?ZKF!Gx71n2G)NFKug6CkEs??AIT-+WzCQrS_x8UqSr~;9%9;+c0zaqbFBdYbW^! z2eTnQWJMed+ZBG=pHpUywfCKMg5B`FU)kn*jM}3dH=i}n-hbAK_VA0pw0B>y(7Mpr zH~-hY*4YiG0G-pX+;EP4 zV(WhS+OzB$boQQkWs_(zf5Iqx!#948l|(FPw|(*I)9o`?oMB78dWT(tS%m9OoMo4P z^{3X6;Q&Inec=2P?6c@JU-HGDs#0TymfICy{U5XmI)-q(zHsfCw&b|!_Q&O$?0U?$ zoI7(O>T|cXVI>iH@3U8(W`BLbiS~Ct`-AY)CcWn;55kEd%}}2=osBx5V4u7DDfn1L z_V$Gp_SxV539#_!(4cH1rzS3BRfMt08n6-M=k9(SGY-@3bN4)D&E1&&(TsnO-Tl%k z`^JMy(N=l3WI>I6>go&ZFMe_#X1N6$+;#_Mz#+Gt zZT4e0d0%3Ws%_0zw4QV%mmRogUltS^P`=zu=7&Zq6Zzj>oNjZdxRiX!j=lZrQblX2(x z3B`ef4`BeZ0xMds{kMBS??Qxi+K=CPnSJzy`VE?_YF13&wny|l3r@m=(0SSnfdmPAN&UXH9FV#KWlfrcZq$e z;%TetKwE&`v&N3Hcm3dAG%L#2@wol`mMiU+^A^~be)Sjz6fUyIUfpQ7{`?WN6YKh@ z-TnS+ZCi7jefR!9sd8t|m}J+WoidP&?zYG5w;#IR7NTSO=*#QuOIKZKU--@A7zo`! zg4n#VEA6Y-oo_#S;2AuRvnmXNy#FWnVl}JJ*j~TA#jaT}&A#{WQnd49cKNY0?MwGR zZ`+%&atXeMEQ4ew&{b^~+KK!}EI92k{mH`=E>RC@)&Dw>{lC4}zlCC86p@OCOhw*g zMO9fm`xOB)lq56b;+gUO=llq0MY%9DMhC)pPXT1SD+|PcniN_l*)RN5YRrQ9gd2A1 z19pU=oN76*55aUG?7rncgu_S39((ZB+wI}ycUUIB)5Z^-XG2S>t+}%SOC*Me%mrq1 zhA)CM(q=z@>0hm=+?DgDu4VSc`);;^fxO{fe#HzSK^baGpJ}`W`qU?e^fRpI8Yt zyW#Qhnmg>KGj7E)4CkNkxd_n|a^2*?N<1VLq_L&*FQ&AgQ*#e<{| zVN9xWhg@P-Dhhd;))rUcC4RtpTEwwlOdrxJAA%DGKb{oNE6ahioCV%Ilr|mx<;YKFV5AmQQh>_#z7-9b5(=S_IF=m{Rp3BTW^z#Sp zTi0Kx_6kVZaJ}&7T8Q|mU&)yfmVCgH@>h?Z*~Xd{%vx|pyU4Ek`W@DarPkHMt88Rd z1xBZPtQ?)rV$43ah0d>XM;>0ckku~mQ|OP!sQ&Xrv26f&)EYjHegn= z9kY}p>_@0)7dyTzU_lW&cI)l>6J}Up0iY4I9?P%W+A*sFJz7vH^$$4p`P8cg_WmFJ*6#b;w^(6*mz{~_bN~C&8f))ChflIw zXrG7UbIH6ZHWafcEc1(-uzU`kL`fcSKCogvW`n2ey{yUAl~~!+Xu|>P`Ve||!&WR; zoBJdb+W zW&3HAF%PsNzRhsXIx%9hW_z<}oI#mi#L~q1SQ7c)^dWHk?Hvz-t*AGUps3Wo@y8eJ zL+36)b%BFQNKC>Do>69UvD<&=?0gKC6mazeKoBFma!;tLPzQ#&{_;Frw}(0*h?R|H z=OZ%`e5k)mjfXpf<37|s;&kp-RslakP#^CQdWLK>l?7+jRZq-|_;JClP7yz!aj!T; zdO4U2;XrHV&s+U)pAADC;Uj*+oy_)zC4_I-n93mp3t~#|50C4eurEhM(BFG4r}`>R9`WAKwexMm>gl z;+x{{y8S+^wkfqm)5gGNG}{wvq36&MWq!}CskN7}wE3!&W~!s#+}>#$&{1RuJcE^! z%R#sCLo=WofDzV-+0{DC08brLZ8aDeU|B!&o5wH|0{uq5!JzX0qSHDRuc2_+`EabH zx#sKlSz#$wVgh4NL5WsPorG0K-{CuqDC3vzdlK_z(8FvO*v=O=ZMOvzM%(5_?4^O@ z#m%)g4x1XXytOSY)`HbaXUv}>JxiOrY+Dn`=F7V8#(UOp$4s!^5q2dkUCcoswT1-T z+n@P~x`^Pt4&Jz{sJH-ud;iPw8#Bx5zmQt_AjhC!h($5vYr+!2Yw(i<4#&LdS`0LP z?+FpP1ly}b0aqsiB~-zHI7EA)b!Ne+5jo1i4j{<|#$Z}KAx|b|En_~)43Bv3fx{Ei z0V0clsrMGYh${Tq*Rq8}_?b5mih`j&Y6LHDXLp-NqhX7&yzd>SeirXx9fx(%2IFj9>+?`xg*L2gq%GgRIv{f*v}Kw=tqhi% zOcK8K?p6pQ>4!Yw6m%o517&eSqr4~&i>=}VY+J)xC?HbS^UGisp}uu1-iw%M6Nk;k zGP52`8>q@At9}vU1$%jrjxj)Dd%SSS3cO&iGtF==f`z zHp4NVj}gWmYi_RtI5G##yb%Y|bTBiHI5CVFD0ik+BH#-|#v@Y; z0pNVp7SI7Xn~5EMckr1D@}NTrY&=wIX3wngC;rF1XBe))8RM9Yc?myD>_jA>-^)oP zomeKuds#BwaJZQ-gF}8Kkenp64U51Mq5I-jl}V=%$~fkSvgdOUhDIkCO_CFN5}F8! zn)Qj9k`#fIAtKNp0KGxG*$$!`z?cCuA^;EN=V7dWY&XRTCIG7b3RT^ij?G8zVMO-{?3CPCP{@!n47dz*7;PINX3EJZ9h#o)7K` z?er%CJcX>B9F9x(#H&>>K*IKAmO7w8p-3nbnyLUCN2t5u0B{Ca`3cVRkNP*K|6KnT zV8-sfKm472a>*I?AuQP)aoJ*feDy~AznIbMY6BHnFY+J$N=xyM7<5)WI#6zGSPK}| z)mYMoLr)|J>w;%5>ud27j`}~Vf3k`5Fq`XnGc%TT;)r4PrN1~^3{{U#z49ai0Emj@ zp)h#F5E6BF_{j@HOG~h%u0#7V$bJzYI&Cj+#8O)5#?k0#Ke1|~<01b+4qkzSLkFlJ zY&KSprMoIR`2p$q+Du(z8){ZS$jk)8||03QKJc=Ern;VS&BMbH(>%W)CE^q64DlU_p4 zlWCC-VXT)hF^D+13Ww!JVFVlMpH0m=uq;ePp3*ZDGl(bPVnd?b(&LN(yi+q+Mo$hH zPX}l(g+TcP{9stw6~Q2Z>W^GRQZF;nvHiJ(mN^Iu>qVTQ{wf&C66^1I0-U&z0r`by zg=EeklJ?KrjkSmo$dLe{e#&225GUD!nR%X}Cc>{U1QQB#u)-0tP^iac&g|0(-DRtRx$HGnJ8*|R76d#V^%Q*$7c9o3EX^!=Rv%s0v@IpH<_ zKOlu)@Scj#vZa7;fd0|}omYZEyU$}~%e>LUZ5uk0?a&)#(A!)sz^d?I`TR`$&VRea z&$@#sRd~7iRdg2fim)kbV7;c+9=zAfCB>6$J6`AGibi@RBqH|+dLHoSV%hStN0wrr z2IxHSAMulyI6&M9e~blF=~yQ+9r3A*W-qPTipePGL56|$+wqFy!U@H;aK=Qe6v9Au z9yUZ!j)+G+>(Rlc4ddP)D73w>k+aY^fQB?^g%3~!J$lmQ(YO}aKfV48iA$`1V{4Z! zz$;BJpxiAO3}H2O0Dl|uCXb1CSXSiEr^rj=6}RY`G+gXbLmV?VCn z_9rNQqDdeO^Xu3CFg%ODS31?-u`)Zq+kgD9+RP3_pfW+JL=+Yh!9MaRDHK!y^*B7Z za`YU$P#6IxQ9}B_n<5??)9d9V=VOKqKuYW$C(VKTlPCBrR0R@9`&)GNvuuh}U$?fSvU?F}u z3ZaCCl#H-#jSt!8x(!$&_czd)-56C0ju_I6C>x7+-IfVn6%X|%O4VOTFxyeH+$xKP z+m|1DH-wP9;N|GTEOkdgJ4VJ{7xGZTP)M;UOUFPIoj=mwK^aDze2zv`L5e00C=a|d z*44&QEanpVPbnP=>EqIgm@D%jopd27c*C^Btsl+-MsT=Sn}@oxETT1Ofw(OHF}3i8 zESYP1#hZC@2Rg?{t zhlzHH-|^<;-{JMlbW9AHD=R6qf4|`(`zMTw|6%o3Z5lEK?+btZx(fs%IgT`@V@~>0 zRznsni?YJ0PyG>I4|+|-Y;ryv1j#%q*n_3b{KN(a5w_u7)&-Ns+V7Tb@cJX)>7$2P z9XjB6U5aR!D{f+OsZ;QWO7zChyxAFG+zjAjM^rl<(%`{Cs(_=lbk!zoB-XBXWjVMh zIv`)_=n>`R_Itb=HV5y^dJ`g^H`F)yW4=VV3GYa=nofZdJH$iZgt+e;7i|jgWCmRAuc9YGNdN{aCkBL!4DAn=1tHiQ}8*y zRok$s6niNM>*iz=R?w{3R%5T5H3_SK@-YF$aw1b)j~O-09>z)>!V4#nAkLeNZH*&_ z;fYpP?WhQ|8JNXggXPAg69){du}RoA*n~eWTVq3(oQn>17pyewE)TTT5Uh%7pzebW zVfg~0ER7U~yr09n*c`O@v+v)7Rim8n0xZHa*l>{Tdjk&1{Pm?jkpUb4KpBhg z?E%2P{Xaq=haL4l@Tv6z{Z&+EiX0C`|8HOM)3fl#A!Tuke;vwDT;K#@pc6F26EFgU zg#Jj95YSRuaGIu`HXF1MK@7FcEeNH8NRi5a%*7W^%C$=raEAQXTjFv71wq6~1>RG3gE6p}IC zq34xl8;TvNmjE9}{LJQ!INL^Gld0!7KWxu#y4Na-hiI2*&eGD6n^|>|O&mTK%SC<@ z9NJv{o%pCZibkdS*y{hq?yHk+^6+D@M6bo#^IB|dq>^w!BQBEG=}I_nf86k3-FX?P_6IWMhqIbgCnAXWBK`x!e+hr0KiO?R`L6)W zJvqYLflgXGmSJ_nA)p|+ZlE5(qhu!B2lggRd9#topoK*K94#*hv!l>f(9R0l-9F57vPqEc{CE0==vHb7t`&`!utC&J%)TN&c3AOl^u^dzWo1pHbP_g}gQ?;E!ObD@?zpM|B*qp*Ze_)ypD7SFS0?5x^=jmAV1 zVRZd3I>kbuKFhJBc{-fIV(aE#;R$#o}BvoBnCmYBQ=yUPFig>{hi zJWTqyUWR$Vt9D%an`ck0+@zV;H(*C$%nl)}+b)Hjm|E@^1mZ~79}5c@8MTA*gssdSi4wr zx9ohpxBK<$&$o|aRn%js=Lqc9eA>)0vVR=RoQ++UXJXaO9nUO>`z``fP2}+7R?h(; zDXsU}2^#AE!Sk?b7RwDiSb|BV(^->!(41?!n4JO{9{iXj!e??h2 zI{R|ik!QrgD)JEisDEQgde@)#5g76Q82HT#?nsy!A`eIX%i&{Hoctwv@fm;W!7~y^ z9F_H2cttfE%36VN+{lHYs&mMMPrQvk=EIOkFRl=X_ayv&;b-1Jqy`jziFytOWxy5uhIeG2vxSo{w12$tP6*&OeClF4MrV8!hMmA$&ifiVht2jc5B|A*|B-*R zcb@rayI|&x*cq=LpMIEvC3U~ChMrCKix<9z&hH8KsY~y)jkT+=J8S?*<_PP%(91;{||N;1dI}+?U>g8RflZZ8diXQh4we+eAj;R#24+w=7%&9A{rxs zcqIy=N)P#r`KUqnMTNh?J`H2d%f4S;(``qsyw=drPsC^T=Y~JzbmuiV}DK-Xq z7)E%+%t^$s6aBBKUikf)vM!q$3rL*-Md13U$JTAeCmFE(>)+mVo-M=sxfAeSYdfvC zD+_6dJ*hwSy^db>e|p6x`~DyPWdC;Exmd1Oj~Uovyn<3{-^QjT`6Xrc#d{vJyWV$= z{rWwxw^z5S7jPl?_7i{Im&)`$DCg0#|`f@B}!X|B6jbeC8JkSpPsg(HJL^oMCMDYT*0A zm8W7g(^Iyt&Of!ss_m$MRX-TP%~;ZS+qLJ|SMPrkyI^xO739UbGjkGz_2+Gq(d=|bG zaNoPWc+%+g)e3Fa5MlDPCyX+tyk`X0y$y zJlkGve8PGv+6CK*jZ3EDb3@}wW??q7-8Qwpf~AKr?AU~AOXg*pR=xrJgZ)`nnbwThA|tLa>4E9$UoT}h|vQ_xk4+2G@CWXS})2*1^8GwW*|4HD@sDRj|&f(pqFQ$`{(p4UgEHPWn5%3oy)n^u*_E+OP!} zjjOP&ZL4i<>vJd@->1WX6@+wZ_tY_Qp<|TXnX*SpNVv!79Rxc9Bg&d50B_w^HdXI`u68&NLu~?PbGc*cI=t)k z^2R#6PmGOAFgP}2WVy}6&Yv%BZNRs1+pG+G2#m(Ex-xA1)Qk;1}Dm zAkZ)EdT-hE$%zS=$>8M3TGad1Esdx*W;RgoGVGf$ZD@&27*=5$>RRnp)V&!y9n=1e z!~`ur2eGamIu#wkZoHCl-1sVdA`f&ctx(6V6#8@mKGn2rbF=*yI?+FV;zi6TZ@1aQ z%duHkH}G}fTf9x`oU&Nhr_-j7s2ul0@C4Hxfl z@qM|n!fqRn+3{Cu@GdXjS7x23V`h0WHa21Yuj1R9>%vAR<16W6+<`>N02|yG5)ZiXZZD>mtFXiP{OWSdmS6zn zxn^Rjwod9ztA!O`MUjYSijyHH^TlA5f0LiXL%4{1_pZ=Q~5pX&>#OZ zKIwn*$AS0168*t!foE~2<52NmaV2(ho_DO|qd)%d!AiuDL+P6qK~GlU({l~jw}78E z@(wJ&%Y7<7qeFf0z_Ja{2c^(SW@Di9y3x=tLq~u9nzQXs_@vH%Jo+N`$$?InP$B{3 zSp5VBfF9H*{PMu>K6tHt^sa~PF$_-5sxF1^iv4O@x}cZJ@CmkdYw5x}#YmFDlEtZ` zD{UG+&BxayUV1wIQ}h|lg7*jfxiuh@)NH?R>^5jHQJhHu9& zgHGo6%IVXNEbD=v47dj9S?KN_ETNtQ8?XwxvazAr9{T7_cJ8OYXUF05aopr;6;>Cm zfW7JHM43=7zJ@a%_IGS)9tKUzVV_$u>)nirE4(+2<=*o~SJ?6`*r~Y~c84`Z9Vb-f z8;iTGg}N|<@5T>7dhTUWZmVHOUxH1deJm@?z=jms$~p|BV^D!K%XG9rmk)t0Yl0mv z#cP>{Px=kVL|2zRvZ@yJ^SyVt+M&1p?Zm)HYfX(cZCoo_ljc0g-@HGP^>5zXn?5S5 zf|FNAmvFC|`aNtk2+4rlx_UAm4<~}(_j!sDy7~i?$Ohtuc2G+NkkS6&XXiJ&{-0=6 z7v!BOva#jU?Upldv;TSOtM=H|JBU!_btvy3$9qo(g8{)~qhcT|cc`vj2jxIx%vjQe z(6a1!?uDNZT!!qMEfH9dyTu>NPe8tef8D%~*|6ej`?se*1YuM*Dx2`*$GG2 zl__HVic7d^Ma;zxU(rZ*2p3w%f z{m5Sj(qH-IpJNqcxz``7Iq696sDD&;_WDVXsJ9};_CWtdS?y@5!64vU?X1uK(2C2k zL|l5%9rqyF0*(0f&1UxgrBrzdPz>4~ekx(wIt->}VU>pY^bYce-uP*ABkg*(e{cMq z*buA@o!{nl>-LEMa!7ZM|8UWN`qUAM8A^(xi{Kc200GqoqM$>tv1oXm-nerBv12~8 zlXpPb7=YJM4sHO$aHLWuY667GfFmRtP$$|x;z#~;;&S*^P|Uhcf zFYKWlybt(w>(3|{RJC-C%|aE6a=*&{Hz>h$mvFGz3H%X{DdQ2 zkYy-GfW?Ko9x_tjhEtY)AM39+AwnL^gcssf(C+cGyugyf&qt))Y5h@1mWBB9^=<@k z#tQd?pQX_@7Xn%hXlS1XXK;i{ir6%xQ zg3;l`1}G)aE8n}}JS;)RC^{U2t@zB(C-Du!F1)*X!}so?MhM1_dI|SP&x0FEedxl4 zcH!Jf_7C_@BH!Uvxptxdsn{I9&n7Y-lm@edopv>5j(JdZWJ`@3;^b&Kddn(z#4jZY zeM7z1f!P7>w#=&P^BKXB+0p(mjlLNf@Cae3kGuhlzN>~Jnb(u&oc_l>b)58^(}KQ7 z&i(*+$NEz@;?OzNpU*)>#u%zz1ond;iaCQknVxC5@@P-mU-UtHuEGre)!)9Gsqteu zsL`1ba>PGZ^Qcb1pNCaG9_Ntp+`In$;U^sP7adSI-_6#aiH*mu>d!c@Q_}xOl>dcR zP4@2)`oDWgf7gGMNOZ^`|B`i=Oz9uVKXg<{e&e>ixN-9S}b z|9hQw<$n+t=|Lfq@Ayg4`CD)i1yUP+Y;#!!wEOOq=h%ddm* zzN|Hd^uCg~WFQTfC_*^{6YRQkV+@Ey5IgT1{!4GT*Qv&GG7HrR;?RLIc4D)T{8lUB zmZywTeQ=Y-&p?JVD4SSeYO*X`h-2Q!L-kiugbQ!HdVbl0s5Ll?~&F2>|l1cYk6CKF?O`)uAs`dkD|}2JO6|kK%@|J__OjaeS`S@l>fc0 z|K8%)&iXyrnUkGRE+y}CuwF-Z{j=@gi#58j#F5`O?!s$41>l8VhJKIQzlk%y8`dWM zPZ`)x{y*CFUw{0U6T!i2|BA5ed8B532S)#Jbr8SEF|4XgON+N{t+T=ke493`n(4|mkAxI9b^$9uoi**l6#s*{q$N2Wz4T63>3 zEEB_(J$~T}87jX4!OzYh4)zSyixdI~97ckOo)fwF7>yKQoN=XD&GQ0zZ)z;XSUra=ci_{E7A;;veYxtLm(S zXcp;5SCPt^$C1c?Y7#Y#s<xKjEkRiLKZGgOvW_y-8j=@>d^_IJ3i&-26c2k;v9 z+UH(topl`DVld|1$D;1vNh!&>A^(#4N(Mx4GJvXQ#;0~;sHfj=>JoA(sG>Ui&|c7_ z>4V;8hU=hgB`?*dk~vK{lEm-247mU3Xy#txjKLhdtB}_ER0lGI(Z_#M#C3&s|9I2} zZnn}sMh$NBE9C1o1MUM0c}C&lgMv)^$BX^fyUYTHL6S1pN!^#MLpB$km_eFmitqDN z9D6?pvrU%lUBudi9cl@Bm@LoS?`xrt(YFhCyyw+M@T-A92R0K^?6~67)GBb~j=>_& zeN4h=7~U6hTv=`VSy7my{9~DfMho;>2=@lBYiQh=p95vUT_0)t5dHF3^M3Yp_(>8y z?`Oej3_!#%m@MelN)f6`|L^%+lzmJ_9cUXp`w1?>`(QCgY&|o#Wq;JT@rZjd(QEs9 zR_p+HX|l{8xFc-iry?4=!}@*t!1ImbKD+SUD>@)dkfvbwndaWyIo<}Gi>bL!#rCLe zzq7fP_t>HF#0=Gte0Q6qwhe1RY0&`KZ|CG#_?qq#%i|-U`ZWE%wSeMR*bRop=jsTm zD#4PHn073sZ-Y%23D?S2UGareJhX`F;rG2LuoUake`#`wk&G$7#JP%Z-YG=(M0tTO zTAD11$^3LM%)*ALJBf5qtMLtdGRFFeOIdmp6A@)b&^4@Z}jZRQi zsmW@U>C>2}okn@eA6bS(Fh@T)_O@6#Na*Q>p^($~1_~DEGZx7w<(0%yT z++{%)l~Bil0>;hOHsS(LDc4PF%GMkNdY<=l~_BrZ2nT7tu0^a zYmnrR`cSE4S!6mp)vCH@jP6zQ$jw(!V{+9&qq-&~r?PIs8>L-PI;aukL_0J*+4~oW z%nR6`Ief{Tx2r~n^kb^7&oJ0SN;uiUwA1wec4W&x-M^3l@2RG_E8!?M4dbkYK6 z9nH>_7b^qQ{xE%4IFQ&?;{m+&yt#3GK2#b?7G#C~$zKSjI0sa_DRsggL8GvgIMKB= zH>N0f2+Un!o8-`l&QFL_Un`vA*MyIM@YqFB1G9$naJYIT?)I;t&k17kv3>7OI0)ui zD)d`YlVYudEV%X>^6t$ae|y=c^mB83=XBN8$)Jjj#JO+vWI7&z&uJabyROJU3P*xH z7j+uY^@B9QDw#f9I>`ILww?n+o0GapCq-j>w5~tV=dn08Pt+ga0HyWh{rkL2N=8im zRjaX%EX3&!YN-e6glpH8=D{{2hpfk?ZU&!XA;oV&c+=!GToE{{>MCOgh#o z56WmCDoDehjz9{G&(I6=La+rp-@?cHB=P|-$32n&hHB5_sW2F%+_)u%w0D7gjzZMceli%o_>57QIKU=jX_;aZwYv88FwJm_acLtP<`zN$6Kk~gyJ&Ky^J~@k{qaEMkol$YFJTB9gqln7 z|6>6l??L-ESIlfUUlR*@`62rh7a_iyqj~5{)(u+GLI_PCY|uA?nhdgWVo~t*roW!j zcwkYA#LOmqjeIlBgP%-M$b(Y8Au=eo42keLIPkG->Ha#ou=rkEKGgtv%jV?R_c1?z zU8=EL+tASdkm@^pi~i*n{m4?j=wSX*@30&|5rdrti{L%_@UhR%@85m6oL{;H+G+zC z>F&`8y>AR?DU_D~5PSq0VBz2UDn^9L5sstmQ3vO~MQeXamIJ$?f&R(aW1i!AHwzdW zyCkaFmm;@Ew=|;O#)*61KT)?X%Fp^HBT6zsGmB=(rW_@bdZjno;80iRXG0e0afI(s;Fd;FAH(wClsW1 zpEnpgTz$>mrHVhF81SoB`d1}5rlA_MN5ZKZ|H}x~gdoB(&h+CRr;Iy0ldN#6FlxvB z50|cs6Vku777*8UVK{1T*q9fD_Jvxs2a%*(Xk^ykRpOQ1cp3AT%mo`_e@5J`&Esh& zY$CTz+`iC>* zDWIkn-JTD~7_ln$pi!2IKg62r9rLQg?;Z*2{2~aMp`Yz00k+@Z1ZW89CknTCLnLl{ zG~h*zdfWHc6Fj-e5;8z>&Ai_vRd4lPf_-4nq6uz+U4!A19HVGfbza^eOi_%L8=WsvE6wyBlr^pbMZ})P| z2TbH9Gwk(BkqM;JeQiN_o6FGCUNcYbK4L`;(bp4LE5BI#S(|K(8Q8jRcoit(M{B@H z8zK`;`+EH3JfC&Ij3MMF;Zk_}&es7tD=j5BMSLhLcjV?{fR#SC@wb(KH-2lB%+p$M%8w zQA0*`<*)=`sSTPs(h@(9hi8q5w<_1n{Dz9wo!%CV$YfeU9k{of*&>I4!$B&P{LgLo zFOOJa{nx$uOsER1Z;~r=xZvE~U#Fw+MH|>vJi#d(e=updnPap7-ChRPjG=i#`=v>4 z2D*K{106Taq9R$`i9_gk?-}nOQW+6PBQAc=qaCK8LD=PMqWM7;4s=KDjg7rIxsC42aojsW!IfQh{4lgGSV;tFTGsz?#>05v#_ zGU6RB1xXf*_$#Oe?D))Ku-*1`E!J|0;4h>pEyYrx_Y>0-_~5x)4(NK;kL{f;WLriJ z2^2JnFuNpiiL$AND=`zlUxOZm%ehQZ(z^b6Zi0aSo<(dU!j{AFyQLC3v#_R zmi$C4zZ<}Cyr!*FV(5LN{fY)>gaBy{amA9k1vkd8!8FO=PHC%Bw;Q$uYx10pM%FC66`NzOK%d3r}n&@FCWmw6x0jB}m-%$o=AI#^m>ZuF? zfrq@>xBu_w>%&u+b8awv8A_OURm%bCGCGRcb8Kh>DaW05WmE{73{=8ALC3=jbGj=9 zvwHb73k|B5G}3w#q<)`kMn~ZAFP4hjct$r;Y2bjBs6@{##$Fg{rO^1MK^)1WDK zZnCK-u9u)cLI3yUXM8p>3u!>^BXvX*P-4dVueXUlM^StxY~Z6NdLJ_EVS}=N-hc9Q zePE*jGmCC87D??hQ!$QdiWWu+ZXTj4B$)wiNR0G2GOrQQn*chB7Y9g%Gr$j?zPwj> zhP6DNqnsx-DLBe+Uc zv5T4h1dz(Cu>bR=p+}*r!_Tr~E%6}5*LP%V@w3V=`z!Sy%srAE{603u&NE3FVYC+B z>{7p2LPn{*5y8TY&>b(OM-u+dQ5eJ1w`bfo6)`wL_|uflC1~B}h=YDLQ#Zi>F2&|0 z=(xP2v&(>+r?hm>_BfL}AxZ=cg_7O>>pTUl_~3q$=e+uFLe76INx zyzcB1jrAia*J#lWE1oYfJnmsJ@A6kYL@MJpmg$Z5(!%mg&vXRJxo}5|#yCenA3Lhe zCl-${`6tLFY@^gfDs!N@s`*l7_^@vDgLC4Ui)qSvQ{n$oQc(3SSd%ndqU5_0jJZ7J z*_Bnfd}0?&O$h~Y1WH~J5?ouLStHwyKmSrbG`2fhz; zTVc!881_=(n*1AVH$7BT5=OaLcb`48BI!91a~Mhkr`Bsc?|absW3?#5ULfKmOmzPn z{)o~eZ&4rK3EKu&R;??+^z*f^SyBOINoAO?x}Fxme1Ok~D!ij~47S`8(&>q5@$s{v zU>_V4F*)($W7vH9NsHsz8-OZKFWcO)9W9|YTw?U_Kq?(>MZ9y3s&=p3#Ic@3!C>{` zsi3fCc%bKeR(fRC3J;)rA&HORj>2wz*i&D;AiH2DKRq#=&cv(o8k!OD&3Ch_uC)EFNwt)w)Oc=C@XM<^~-r<#S5O&;9h`O z*;EkAr($p_Y;qNS1#30S2Am2l>6d!7O_Fnw_l&y=S1zPr+Pn_nhlGicf7@K*94a!-GlejAVnM@7r3LdR=v=>(Bn_o%`Z_;^V_v5<}zc^<^VJVCy zYKLOPrkLI;-AjLZv7l%!{#Qv<5*yCwKRK$K3ZLA)z^h{vvWNKpmrYg0lb@$|!HUzY zIH@JD7+i|+PBkcZa#%E>-S3~MQwNiF_56*oyHA=2$?imn?vX{g@FVC;`OXhi9STbb zGAx|DmU!CbzExkw;=`_w8*)F`?uoq6NaFw#4sZ3#%xjGoD*nr7mb43={iX(EHnF|S zI5duDSdC$O*gViIhAAF_r5SEZfo!3>QsY2A3kn~PV9{411G2x{xjr6E@QDW!hV>D5 z8euXhnlcowGzJY77;f<(r9>ezv~B)hc;QrhWk5>5t?jjF+O#q-7PQ5nf^zj2<;Yw8 zmU+dza;C}^-!=w20&X3`%ijgJzQIt5}9t} z(tDpA-j^(WUIgD`iKoozF7ifS|9wKgwn2=n81PIz%|-PI%SwhOL`j%g_@jeK>@$T} zAD<|X_{h}NwOo+Oy)@#i{5*m`0d!E@C^z|j+8?flDW*T9)+f;1XL_lLyHPoer<8vM zg;vbproOa0SdVE{TXb}`Z#(stszw177_%_qbIP-ZZ&wNbXCwfAd4W2m1rHQSNsQk*6zG22uh&wL7~S)C@PUk+J*Rd@?)9?HvdGfy2$sFQp9LVv-5gd zs!y3BEX4i(gaMujvq=)Bc1pvH3NgRnorigcEDqgOq-M$h_zO`c`IuQMd{X<;YldT` z!XvM*j(RG82}%XhpEZ=ipY}SGVJ)%AkJJ^wf;m7)9bFt*i}mev=tHTVYRrnS|RX0Us33J_O<#%65=B!8Sv&>)4+>@4q3HNd{5$*AtkEQhnS;vC(m`zj&`l7+^(i z@3p*MDq)fw(zBEqjsAVgOXA&q1&O?!|G#0k^{O)V<*g6~B|p0!$c;sOo(D)zpfxg= z;Tf++oAx3+6?gGl^|nY)vlwwHm?d}M4A4CRs)D>i{6%NQ>?tz%Edca(LJbNJoiDh3 zGBVrn5kIA*JIesianxm;BiL{W?EhaSK43*zdM()ZF6t^;9Ny@`$HT)W0rtc13IOi$ zb1TIX`H$r$4(ClS2GvQ{V=lWE(tRNRCmrzu6b$>07{~NJVs|z2$GWc)pYPQ6$X8jk zC0Urwa8Y1?Q`NtT2mVYXHFf<*>{9g|GW%aGeTu;MAR9^+(t@I1KD1OCR9v-j)q~LT z?{zTRiP4@Ql%LqKvPs)j9H04~O>^b-+JBA-R+G61eEVVOpQ?qXk2?^k_hiuw!b*m( zR^kf6*r^3pRia-v6xM&*!fxkC#hFu}LvKpOVx7iLeM{&tbAV7V)jt(G=Qs!ct}7f! z6lZU){`t#kQrm;1A*Cl=(&ctuDi8}3h1QE^I zz^OH9ZHU}ouq*24Qi`g674}_XZo#x`Vmvb#iBqq;Io4)B05fN~oRf=s=JuS%LJ_Z7 z=&N|)r{T@+=#VD;r<%t@;$7WHoxWZ&jOAWOz#uddP6on0Eo8NxMgscTx~4@%_j;vJ}S&A-!Nk+NhK>h6C>kV{BQlZ_bCO?exfFVO~-h>&gENI`7v{m z9)S6%$QFAVMox7RU5S}A|KT|)=3~iyxKAm}y13_A^5`^6K_u$g7VV3BAN8n;id?Sxp>!$OstN4}Y~2uwHO}rb5*gRqg-ZpE(4f@pRT(V&eRQOAl!gDy zDp=_-J1oGr;Dtx^Nodf7evQaCA>VIv`pWhwHiA}SfbbIZ{=RI=*h#+R)Qsz`;Tydh zOGE?inmqm4ab>;%mOd@ZL3OUjD^c{Cs;uvpv?l)iT8H9+i-ulgk@xmgEn}ZlMCH(3 zg9$LN8Afqr{uia$sa`|X({m!>nP+oRr12Ft_PTIXErlDD#~q~X9co<3?GY(yRs9RP zIPC4n*NRkabD?q5ZeaqtRisQTaSCXw;V&mMX~sf zGNSmyxx=8j)}ke`tZ~B)X!(>I^;jOh^FriipM!ZWHEv!A+I^zAGKZh8IUqiw)}Ii8 z%9{4mn}`UE0y2O8M0IumT zJo)$Yg%xqcC?3Iqg#gdhu}V1OU7HN;4?1;MgFV_r9V_*kW<e@jF6FC;uNta$#Tws<-KmA>M5q00j~PiUP?d^7|j3|BbQ1BdYEcx6m!H1K;%4OMam zrdSVhNRtD*!wUAgJ7mU;lF8~oQHkMrDtnrks*j+f++KSCQ(L`@q7YQS4dl(C{(=;H4bbxs3V2N<^^C=#` z#dbs#aN{m}+-d^pGuu$+yzImBK&Tb&I_agn=Q9D*^nbh4nYmU68HJ;S-fuqVnCb0VyS)>Ifgg8UbbCE*-D|R}^_XCQYs7Z+BCD zY*wroUjQ9~9}h-hvqAQ!ATJ+HU1G9VXtL|fGZO#gd#m-mxP^1Vq4wZdPz>n#Mnf`6 z%2t2jy(y<`X;$q~-D5#zC0U}F(}*xL&Z~I5WZr*+>WUNvx+;h$G%|nniU&@^`ZOHN z=!aw(|21G9-Y*>Q^Q#oz`RAge+@g9}AeCnX==5eYANPs=eFM_tMmbCydTvzgJHO`U zIPyS>Lz800&)TI+B=z>X+$`7wA~zp!IRyRgannnKe1#*gnW^{DNKe z+<%P@E$C-+V}YraA08@xF<#{l4*;J8kB{8%7Ew6nScu(Lg{%m>jv(zZ1qGsAeE6zBgX|Qh=PO%TMN=A zv3j~n$dWtxvZG%eNa`YinP$-HPV%Ms%Vn(En>;7B1L_a-6o_D*_a<(#>+;^jI;655 z0a>Edjuq4bY+Ri&Qxw(pNIG9Hbr9u*w=o`Z?}8S>q%pcjz8-XI!w6&I^mDY(dSLWB z#enHtQ4W<3z&;D``~_Vi-U#DVx^>(9)A*3%t_Tkz6BHJ`KPWErT_E!=L;+;)aIF8T8mU$QKmzU?r`YPagQSL2Mf0FGS=yzpp0W92_ zls;;9qfdxj(@ygT}s#`F}s3C9fIMu7cbDD6Ibn}(YD zt*==r9GO3ddIS^L(P16nx%mY=Wq(2 z86UNMDMVpKd+yNwi+4?^t9jy53q{(=w$d`0)}1OOUEM03z4yYwin$E1Ub48rz9H7o z85Qc%H@=$xc;8QlOnUjO#Az!U8}jNcZLL+8O}$O*5WNWG3@IJypQD{d+DGiE`B3zp zP(f#T!u|P~@RH;xBGz1W*!LZfUBrHp(Xek++PP54{>d59VexkqF@IH$`hn~Ey3fj= zI-jH6f(+@k*@pELSS6qixeI->PIfY!e|vi?N^^aV3tmp<6lLDna|Z7V>@$~TFCo%~ zapp>+BbtdPKylMycw^u`jSCU4$2+$o5Mz-3qxpr{Y`4UEu0n7_3;bNzW6X9D92-7y zF=M)JD(HQU2ZiuJ9=kzMS&n;dmazu@y@ZCpf06Wn9yon+E9uc_%smY;tR`)OhsuNb4;>peQ9 zY^W3sZD;4k`BV3~ao}bkA%PV0O=s{%`~FG88e8CL)8dAGUa&{-`faalnPKoNs-BzM z)jy8bJ)$jG^Vtqul-1l=aB+Owyrjo~*Elu~4Rm1zthWmT9npH)fbkE*#TjmD+W9Q; zRK!^NMh#(o1%?Q>6eVpkvvYQGDMDjomjAgzJnfYQ{N)lX+f*Ro0e=aOeOZ$fJ8I8U);X`fF zT~>J9GNPFEp3PH|HZDqaC$}mXr)a&XOrtrN$xX)c_j6L?$4V%((9#OEq+eTlMo%_D zUJDK&qye4-jDG{}@roF+5?;awAm$~D&g_Ll1H z4Pg2R>RUAcu&w4!pZo1ryQx~bXBC2Omsf6Q`)}(J)iN+;1t~&|Wq`EB#BIe#U&qP@ zZlsv?uTD`%i?twbG|=kiKkzfYZWM#SUfZ$JeyNVJG670^@GCj7O4i#0k)4PWy8is7SqMpc2VEE65efPayn z9IIr`yl)m7KMu^`4_W>*#RN~N7o{_4y0sa~mnn)mY?y z`Lv)qg?%mlh7j!D?3nyy2z*c}2bubv>2Jx?s@okBtDq#I9_D+8v}M>@Ilu^u z3AqBNbrS@YA|)B$=;%T5g4U~G@^7^+(!%w=HSl}5{fHARb!*Ggc!p$->-_p81>O%1 z)_sMfMBS70hz9k;8>5MN!uCQYiYzm(xF$45FHpaXljxzjr@LRNd>h!GRNe4douzFK zQ|uUR$1kvQK?}$>FSd|Myb0VKGA?cvB zCajt++0O`@_H?=8sAvH$2yfa^4$mm?!9ByyB6$Yd*|sXZfeQH5?BHFrKL{YSx6g!h zyIB4St0mn}oJEv+j%axL1K>X9vk4Hoyc)TTxIgVAsMECzdJfg-dsD#KgSJ;j$J8~! z?BC#dmWzclx;w|)qbDi3B{WBbX~ zx`;jWY4YD@-S}*iuaSj{_bn#)yqbG7c(88p%ii_d6BuiZqAO1sSjIAQ76_2;CaUkI zT$Tqc(D00DZ16}Wi@WKDpuP${9JEEx%O-pt0BEelQl9Hv?Zz7XX66`oO%*>H!8*nK zhC}CzKz{rAu#3J8?%gM=Q1*4)b;VZF9%%V0n^S+9;wn<> z@{3=vVYuA2kyYUd+4`XRw}}?6$od3LIbk@Pw{A`46T6yos`~kZ`ro>GJeL(>2TGo3 z9z;kqD@oM68I^_}O5Sg;nUO&$s{}D5QKpse;KMz9Wf_YftOgc&Skt_5Jsb(f1?ZHm z=~E2c$bk;`t29?U-UtyX);VQSRpEG2Bz7G|CC&N|az-qrDTSF9^~^l^Y_eUP$l%op zc{A4IH#}&43U5!S8wq`%n167))-#@7ot|U^31pBePFG_G*Nx+NLB57~N}*E|G54gq z)x5mtlEjK^tD0{x*1)S1aI;}iQp5MNkH#Ap9A2SUQsS0362!Mtt>(?$9Ic4zmP5BL zqEj29$MFW=Z>h+&B^NRpIclrJa5$2tR`GYH>pX9t5;}cW*M3^n_GUCm+IB)seI_D( zSGbyHF}A)O8Tvd@?XRsgNLnT`61wOgF@3u*AWeV)NabNOvu-T7}loH}}I{sPI zwA!}%!^FAS^6AGU>##G)_s|>)T}axURU9+F_sA$50P!CixARtRBh;~R%&C&cVt|A4 zb(UQzOMhKUE8bOCW$Q{kslgG%=2be$9mO~$$ht5XHh_G3(@>XF$!DF!ZEW41P+13v zKPi!$>RZR032qqikas(H|495$Uhiu?1pM~1YTq1S3j90x?>7B6PIJ4tft|!mK_gyN z#ABXclyJ}Z&0YQpOb|Ty*2(F-z9z@JeEojwx1P4{M{_Z#h10o1-E>Y+GNqt*)%xQA z-8T{cNK?NP3Nc)b4|i|%T{V7wtZP>1NYew|2FUAC4UG5u>Y$$9OAN358MQu{C0R0L z&G|xj_uV0{pX2d(|Ky{07J9JNgVEsvpPF-*^%>ReA>nOH+6788*5}Oz_9ds$l}vT9 znKM&(LxGDLgQ`Ba*8A8ZL+#axk{Wt5bulG@i>^bYu_qgS$uD5 z8FMCz`rpmUocHl57Bi(qynapHbe>0Y=jqmAt^UvE(x2l~Vm7$q&}^p$W`UKWaeZS& zjXYf&&)XY*oVpm2ZU^9bb>()u=&nJTzVf8i+huV>*I*R~Qz#Pm(KElGyL~)h%{aR% z;$79E+~a!)d=*E&f$8bEev|& zYlaQJEfv;ponfg9w_)^mb%&F>x2t4?`TBdS>As*3uWxE)(Ry)m-9mE_a?wsLHEIlE zK8Y;H538Ogv445jgNq@MUUJ){joTcUSyg+sf%uK5un+c6_@KV%wgJkNSo`o}(YiK{ z*(?ih!^Nx9)awt&Q;*YalOf?(XV_8GBIeqE&0W|vRTGV3Z^UsoNh3U-Z+x0pz@0Gk z_HBF!W?H_$KeE8}35;5Aw6#CVlg)*lzx5iuLfxQPofkWzNIjBy~?O=HmmyJQpwpuc$?+i z9pG0mZEgMaPS#-!%ADBPE!l$PCQ=}kFHXF5H5y{Bn0b?b>U(>!`D3=5XBf6G4p%YR z$@w#SveZx=(+6YnpNq)8ACUZ$_N_qND9u;giF8slxjPbBVOTBmC&s2`SREr5qNI>5 z?Uuw4B|>j55+Zw@qcuF%%P49Mf?baKV$jgLmEYr3b--N=Ruz+2pJdR$T~(b&WAKgd zc|?yyEDj*@&7`%)P6|cVE7QQ1b%T?-Di7xJfCX7c-Ou*YYl0{x(e#GKW2uxazh(Rc57~hpO^s*(_fuH#=rI{q}KtU@gDo3k(6Au;wXKjr< zzCGB?nauuAeOX60V+Gcp(88VT|HbsN?CJD)Y11)Ao!n_t@=7TX5>;|L%U&~_HmdbB zD>7{Kj&V10Ar19Av=H(mOvCO(!ad;~r36wy>*hw_GPbZ*;HqME+lu5<``YPiPrKzZ z^LFa*`Cf32cK~({9C^E+1a>6>9uS}IH9b#G(asUOuGbK?hYT54Y5MkmPi5~YS|v-W zXkeZ109HF@mogjGP zKKOf?irD_V*uDIleQ8w!D|5Nbl3utvn4bx~8*{w}akC8U-_ZGSQRnHN*VARS9KULc zm&Qs|a2+W7Oy=0YBuI}&b*4t;)Se_~NTEHPSbIkyIV>9ZbRvGx!NJ7P9Ur#aMfmlU zu=`hUHTatKiQ)Rvcu&2FK+AD^0!k!7Y<=~uFu1_B!T18dfwX62By#J=#tKq zC$E@)v?lf2?o+%5gWozI-}r1ca4&;9&(Os}@>u7#twU_7y^faxF+dDw_eWsyn1T5|XgNY0;JC&-}QvZ3# zs+nS~2R$Sp#meZ6iMw6kZIkqUDJqx)wg*FnwG=DyGREjU9g4^Xkq;RRYe z8I=lJ6GIbkXBt}8CZ|p9)^A*HpQ1Jg+nx@6p3Tl1sVBrX^8!BM)~QG#CO*9rAIoSK zcbfM46Ti}$VES;7d9plu-lL#B=~k>B%I{ysIX*c|m`l)p)LXNfP%6urhQ-gfYqCp{ zf;#0zg%*H%+Sm!Q@|6fqG`%`$;ovVE=n9Y5AgM z)W7_Vd7{zQ@|FmmRyw$sKTRMFE$iL^F`ZY*;HG*tzYp=hG*?)CVD6g@Wtkv{Zoliz zs^akDW@`y-f)%8o#eOgnSFbhmCp84dY>eV44<)$|Aqa^j-bTdX!b5iXeJr`D@Aa_W z4fjfBepfn#n=!E#AQ=2w|E=^*>RyK8bLOiIVYK{;`OG#F5F3A~aeyz$P5=|fm%NZx z*v5~=x5dBchK+?^TrL7Zn1XXb{&6?@L!jS-sPR%}(+!-w z37otU^UNDfp2jrZ+)*tM^B~sKGqhFgH}JW=UbT14i7Cs}^;wXO=RjsYHbpyQMgN^sMxYjx(bJBkVWWCtOq#rYf3Fp5*cy!QRuiy~ z;RBh!xE=21RBUoa8$*|>MY_Uj_s=@9DHP3xQzURH9bEhSZdG36 z<1qax)*WmzK(+FupoG$AR={`F%o?&Ti)|6H`$|-<*nugx#Lwfgu4sQb2JHV0>SBns zTC*w{3vu1>Ow9_r;UtK|)wn&0y zWR|Lne-HWDI=122sXs6;JfxQM~k{Lkahq9gSVqJg)1L8-b@_ zxJJ(P{$ou3rIG9dhCxb|n)KnDp6e+k2ZW&x?8{-EtNKzJtOPyr9a5UfSZoP}I<50q z_MZLM7xYtRVPmx)6{K8wO+maG+2V=Pc1+BOs<#?$oe4?>F!`stkUkq?4hmbHTa9~~ zMNRyw9@GU@^hU6O-ah2=0n-7G<0ivG6X2I|KREqj3`Okn`+LV&f5=jtfQSJH_g+f9 za<(ve*sqsyCLL^aO9tWlD?~8kfFK|n-KtA}>hyO7P?7_>`(or9LIS9O>54-5;RB)+ zQJpDDysud(dU?kx!!juI)jg;AdqYDT_4t=kJ2HR~WRzbq0WNP}u-4ojM1R1G3#6N5E{C?^95f zRb{=3_~7$+gX)QX5?6hbM0)f6g{_|cRdFXGVT=C89npLSH?5xkLcftYMo96dzx2b8 zJ{vP#!wOUAGTkw2MJ*5tH4OGEqaCwLpbYEvt66{O6Lp%_T@i8(p3w95S^1^uEtTUj zWL_NM9q4Mg>5rzz>wR;(7Fc~BVRqNL7x&NL2%43P_3Rn|AyYHasd#7dvG6$pbRx8s zH;%I+OS+4{BTajM(*<OySef7H@4|Z!t8pY}X%6*uEJHromqc!#`uxE1-H~DbLo6QY-t9 z^q4F?!hnT($BNqWk6`$D5hnsxEu}31elo7XC%ovWkHvawH1$;H{_^$v6Z}!{qTgmu zui+g|kbM4$U=E>U+h|9+{B`iXHr`Fjppn+cdq4g_M_ot%P_!MEty`9BVB$qWgim%kC0@IB&mBfg#Uc4xt#LzDF0?S4fb;0p1Gr| z*tO?v%9!fuQ4IGG!BJFm`Ke{c=GMJ%ODJV!DIS4F>Gka%gu$+IGH_2%%x3o+<>rv| z@zG&V+6mMJV);eR{-3WH)U+d1JKvn;?=ESB8HnK|6w>$DU0^*&lVPym^OkY(%Y$Og z!{@DZL|VUuReWT=0zj_MV{*(_WJGqE)wpwInLQk zixTH~u3e_{C~wYZwTkY%0hqjh+0JB+4%vU*eE%Jx$4V>i@>SnWtdGB)5+C8}+QBzo zTy)B`-b(#hIW&fky{dzCqlh!!ps)t@TV0Ex-1v83<>qyM#a@RUfa=7gwB+w4ia}2? z2w8Y|wONtMB_-(tm~qq@t&RE)<-6uLoCVmGq(|(rzS9*%Yj|$ACS;kK5R!65HxtGp zVoUC|YvM-UJXB=5Kx0g~Q|8E|f1PMg>5%#7fyGSdu!%YhEn@k3JB~zug`~FQu2gw? zCF#un50&{wc-&0W7W*c#563)Jcnvz9wiO(|n9-FRRbt<6L1r=!Dh9B{5n+es-=mq4 zm=hz5SWPzHWDSWv?BsLFNK2grZbkjeItUdHRm_pn28$p?J@eL9Y!-+}&qN=Q6cwUKUlb$)!4cYDjV-@>V}((J0}wjw`IpdZmw zyis}FeCqZb_!n-!guYAQAE|@W2Pu;cvc*W6{h2Cm=XtAfa~Wy4Is#y0k{nYHM+8Kr zKKk~=pvxtogNiU@V(4-xogDzWd-+H1_w;O7kk+|G7R3*SDNDz^ZV#02EGI+--+>Mh zh2*Saf2Y{-xBe49+((F!FD93W^oprz-VUtncrBX!u%MT34t*D87>4#~Tbt0K zmRvLnHz7-?ha@MTvxhlmSSRK@m@Pg|^K53qVVeF~umEf{yPsL*ROg!GQw}}p8a{1f z&RlLv;%p8%54_?*c__;G%~4n+2>( zuZ5i?GckXCjlZ=s)@B{(UY~vbUyb8=b6(e}-&3z?($+!`@oic+7fKtkL1Lp;T7$`g z$0#N4%KG%r#=K3S%7N^6PXIE7>3bp4C>pOVnhcGkX0C%-?TgC98AK1{WgQPXJ)PGU zt-@&CnpA&n3>^L&PO0jf<~HL#Z>!}V^kg?G2o%W|Fm9*X!Qbn%VOgs{ig+;3yAyRf zJ*;cshP^h+{SXO3V7~;-)ue`S`=BU{H5YRAB`9LYb6utk@bE304?XoNZTJU#0iArqixfV?bozU4D~uWPeSG@z0YNb26-UDn*%o*!iu`m*BS@8J9TNCcC&<~! zO8NSp%iY#6Jv~!bv{K2qW6!Yz`GRLA`fmY08N`njTAp@Y!Ekt2o0jm;AE8H>HDrNc zs}MTgklx(olqjGpv=$k??gE#v;V7nuwy-dR6Yk&iCe36el8+{rMKVii#^V3D{Dc-{ zQsBD~SMqn3%2~pWz|}w%o1|Z#YPYzf@Xc`lb}yKS+Im=z<26S*qQ}*6$Y=xvEtcHM z6qX&=F(|ty1PYT zNI^hSX&5>sr8}h?$%%LT{h#+c*R{`Z)?RC!9rqn8wie@Mg>%FD%wC*h*#0fqF*(eN zc2D-MpY#fasn>|$jsM&T9xmVlWvaHnZ%io3+porNC_WD8Zj~$P^TUAaa{Db4+x*z} zFHo6y@Gm|iHyeVnp$<~wJx%d_^af7;G1BMm){M_|_~d4`a?FHN;~xVqQ%{9M@7SLN z$u-Pbz;SGi!Y8>*i8w=8-Y5&QYJZHq&(U~w1AEl-1V_3a+DhuTw6GeXlZ%vo#Y4Rg zAiYvl^-rBsqlVTBI9Om5GxT&ffe*?K0ljy&C5(6%OGLx9LBCSy)`i2#ts=|Op+IMd z@hN)DsU?4nR+H~st4`lNy=yk@c%pDTJsZ#-=Q#Q5uYpgjyGzZ(d4meV z$j0>4uAn8DkK*1c?$-tRQ)r~>qoZD-3o2Q)bB3qIUckr1j$AZy;BtG_RV6VR`JH;t zw%+PghXb?0f&mm*2VL0rVTOPF!Hd3I)^R zFBKpmVEuJRF2j4jI`CyFjedWfLp0~JYL4!wqUUI2=$daY<~++*v}U&|pOs?6UWY>a{ZMYizP`C2WrHXHFE;(6Uy+p)R_AU8 znp~*|g`1O`exV>`eZ=LsFm=Nv5~|ei{_;|xPV)yjPCR1$^)7(eLN%NnznZlP`zjq= z5LhB)m3kznHQ!xc80G@8&0@pS^s;tB6)oB`i(+wPrhUW}+$X?}Jt0=XlKe~fN1kHq z`nPeoqSCP9hs;RNVV1dCgUk|jmdU{Paz+221#oqtr5<7I(xDJAJS-Ws{#p$!GntY* zaz|6Hwy%>)yR*fz?cgpp74U=StUN%X z?jukHY^ml1D(*raSA^fmN4LDUetpa6H@13sd)8;OH5cdebl`f{jTLq9G0Yc3X%!P+ z1kF>=yI(9`@#NQ7@6AYpFmHMzx|0*}yE$XZ7FWn9{sFbD~ zt4;ab7_)Xe>v2G7N1)3b%e_z94-g>D-=}-1t)#(K(5f93iuJ3-M(s|yQsmA3V0SkK zAJw2XQS6`NvB0%ekVS~WIKK*g#1GLUq~t;odgiz~TaYA8m^{S{Fq0qPKyZDec2+UiKTL!E!m z&mr@;XFFKV8(cAX#tlkQ{Z#tVPD)3k-@Kp99t^71+8?>wce24N1@B_a3!l7K8ZSwB z`3`?jeSq7D^0xJdAZ8JbJLR2JV-=G>KmS39+ITGsw5;l0u%~v{7vXILv$>EA|7EDE zqv^@GRTy*jUl+-G_oGq`-3F$NE{p{g{R(Ii4_2Uu$Ux|pl^_aQH@MRB6}13i6)@zM z_h~9^qkm=yQFp%jSNfQK_bYluj9gMeiZKai`1wU4{gx6>tpMlnFxDv`o~-o4o4e|s z6{QAr87-qvlgC3e{;;o_qUTZ!al8sfl-k3Md|N}PKY#Ctx#CG1^J#V9K4Lea!blP% zp$Dnr`>~#3h%+)4VSie~s`RM9NH?a-^G%Q-?0sx9VWC;f2+Mu-(y{NuHJvXDi?o`r z2@AzC`0faImtW6f7n{jwJ>F^Hh9~?XjAHAza?(`}hj@Qu$Svb7htU_S>^C&nb z9mU1bCYN^lv4I!uFkA^nI_}`JQu&kpJISyS#@R3-jLDu`Ny)!bJ}DzUh9g1g#T)B> z098~QmVlNDnQl`U(1rWlKMy z?#rcG#=!Lt%hS@^))V*QMRTi*3S;h}!dR%7PuMe>&tF$;Q=aD+vC&sEr&%$URl1!A z_xgMMhVGwyZ2r{7HGw$0kNeex89;=ZW8+!&A>Rd5+&K@>q*t8)DS9xV#OV#{k*x zAqH>DTVTvx54X0We?N!A?{3Ra{GL2hyVV%w4SN|L0oZG=4dN74A%22iixg%F>8ZK# zYCmo=n0}Kxm}GR~941VN-%Dw!vZ1)3bmgA|ezE7mG-*#}uud`C=}>&O5u?B6;X|{2 zijWlHf$r9x;a$YiI`nC;>pA&}`aZIKzM~geW+f<;LXFS{IS<(fiNjb!QpIK>drxYi zvQoIwzp>xTEGV2v)sI!YmAFi=s%PfClI6%3wAE+x=TnF)s{ol;fZ|U!upVRT{5R#` z^)<_R9(0BuE$?1@i196OZH~^XhHV>jtSB$uUocktRaSj#k^mb!HuK+S%xycq00u97 zyZzcKd@_mu%zlRa&s@tIrN4m7%UfbJz6b;5OO}FR5uL29SG{k{7}EAiDV=bytS(7Z zPdU6cLFmLYB_FZ;0oLJn1Tld&7E}8~UqYHvt~QsG%Hd$hnRLg;4jz#-NtAQv4V$sh z1dX10CZf&ZTYaf&oM{V=Nq++ze2yO^bXb?`(i5O~fvfG^9ne_i>ezk9lyW1aYW=n)7`(MXQO0?+klXZkoM*E{Zn-9naSh z#}&k2Jh|o2EoGu?8G=G>UPu4sK@qk3uMM~cO+t2ri{lTeYwGf42S$sZZo2ksn(r7c zUzKHmKXu_b{qksKs9#w^E}()rppn{PA%p!Txrj8loCFiq!{D#NZ=k}VhB+Hx$fg{@ zl*9?c69^OS`>S^oAG=3?YfQD++NT6s-($9*+ImpCu?Arde}sE2U+(cwgO?EqZp7mc z!bnK@&v)ndm0%Zjcv;^fa1r6BcYb+>R`PdC-gX&t=xhk1BV5yk-$E|__9wAw*L`aw zFIMMj9L+Oa4c-NdIKxhcSHbjHYsPw?dIG=uf#M3SS2Y!75!ca~GkNtsMk1l-Qs$O0 zewe~jM1xfB_&zUC>yP>f!t35-S&c1~mOJS$at9b++N|!37|_-ntRfluTVE?WOENbT z-PI%4pk=qZ@ATF0IxeczNwe#(-o}2u$pH*v6Ma`Z{NMm;dbKXwHAh!5yS609%_}oC zrQS=UrD<~{Vw|&dCqrTCSbJ!0h0={l^+KHKQtblW^GXeEQUTZy+2kq3siP~Jj;|dHtuAm{6$ru;NSqgIvDR*IoDF;$0af+ugF5lh;o`b~P}$r&gMLuT0m)^1kv}cXR_H?FQ(Lw#U7M z;6xM!YC+5H;93v+977F@p|$1T*V^iN0*TK5NYv{7JbEzhg?IFl3cov{ryVE^(9B^4!4CDPmW{PhL#2v z?OPeo0oUZ(&i7t`vFhHM@yQn^NeeO!xeECfu;4WV=4IQQF5CbB&3(=FB;u-tA(@|( zUId-E?*1E_B+b+ErSh$sy!E`{Pc{LeY5p&HQcsOL9= zY%}0ge$w80idcq@AZK)+2TxM#6{++n8QOI!)|ya+VpMS=(>iw?8x&Vs$ba_jRkP(S zD7Z}b*DRZJ_ZPA>2)6l+{US*iIzgJsT1l)8hQ*hIyD$D{Mbbj?gx?wn%=*s>Cp$Vg zBHZ`t**7KPD-yk52kDL1m5dT#aGPQ-<)(;j(*`JDNzecruJj}v*62>?Y@xUeq#wb) zP0KKR*TFoPy&E<5$xZOY(AnqOpZGQ6DlfG@T?TLQ><1653q5(><_n(>PPkWHB=_Q+ z=-gQb7G0aS@7`XYO2xq1Vf!P^TNxCN^;V@WKC8G%*^*ybGomVA`;+M`chYv9qlpBMKakRY{+j^ zQSDSlsdmL&r&=V%ob?nSSKO$l5#{u+hw~b~7+)?-E^-KLN;{_zugu|hCB18!_2WEM z)nEy7Ro~wiaRsr^2cF-iLNI`rApBtf5I-XVoe8FDS!VKQA?a`JqrnLx9rz_T%Uxi1 zqYGyKbYvg1c)kJ3`?=}qoaE=>hTOz4V@iB?x_R?!hyxVz1Q$MO2Nl?gn(d_Uuldz> zo=*iAIudoK?}xOXH2L37Th>R^^JsptroMUvH;#672poY}!XjYA4ouikUA+Uv{9nrQ z9Sh#)JGbvn1RkG=!8K6gtwxoxi`mS_M6)2hjgd=X#{ln(!ThSF!6W`J`H~3OTGd7sCa`wqQf6*X*<0~8NwIAkk(D$&hDZia6 zTuF3}Vet{#H!(lRg4KnKbB}##t=v3N9;jz#e#O&1&7PkPdfc*}5NmXqrSKc_@8b^) z)Ff?@BiN56PTmJ?AC=!B#?OrIS%g>|QBEG>2)I#5>XN@zPON}^#l?J6mh!;?RX;5~ zUxtX@L(ctwxrFSBZ+IoJIpaxhuXZU}q+!xD|A29{rNw0eRT#Tlpri$DvOYC*UeL@7fG$vkxAUDd_gsBO=#uNfUDrQv=f`RqYd3;`U1CBjA=m2}KUM7D300@bS*0vEz9p5R^(tPxuk_V;$qUfvFcPxQ@p!k0K2ROT8`j5$|67Xp`tvcK9#| z4Hbz(Nw{GRyYYlF2lgfwCY;`Vay)BPt=qZQuMdKn*0f^d`ZY^0f|-=QzF! zqB8)(WQf)pU7lS=zrl)XrhsNlwjy^3`)6b~*R&fa8DMll&$genn{VA!2kY`nuSKk_ z(~ebJ>!xH`{w~jZ&TAnhTg}vR(#>6grSMC zPCwVecIR$~&tqF8);cv*pDmJIa_z=ez>RHMizF!MZ+zy@M1I-*)!iXiWp(ntv#7GS zqTLKr4z4IKt(tMD@7r%%^*Gs#zH`4sDKdA8y1KF4sj7Je^Si2}>!P_uTgS%G&^kZ! z_N=ofSeGC-oud!ipFnWrY`F6IEo%cS(as5oHt9NG^C({eF5e9^ZW^aN3U`0j00b;! zSCdQB&nJItkS@KmXsQZ%Idl05-)FGqXYhQ)oh&1%LQ3rNRQvg2aCq< zALf6Iub8S8I%!F>yRPWL$%4+E;t(t9@V66-zqyZSOZQ7Nzg>0E%pxkr10{Cn8UZa>N&2*o4uE1MDou+_*byIGzNKO(4cko7|QHj!hu6U+J9LByl<{!S^AS{@);`%Mp_^f48ocpl}a=h8sGwOHbw4A6oBzHj!<>`KoGSGz858 z4>K5@2zJqejJ#4cf^&8JPDb9;DF^Gl^7zq3`l(N*!J}X4*!d%|NpI6jGa6%q-h~LU zvjf990le3r(O2JB*>!t(l@eRnKmyks99^oLM#wL_UXK2G0??3c);gX3nENg@^>q3; zafw2pA?ozORgq^iIlWIIuZ9i{kz_wNflMrC^D)b#0VQ{`8xUl2^Mn{~q(MWN zlG9Q$=vK%?ry+>b%jF-_&lydXqX-!=PNmuV!-w{;+QQ85&ObE0=dYLwi611Lf9aee z!?FixK^<}LSCman=(SlW`qJ)<67C)EdeiOnPJbxCcNj~oI(V&M zQz^5pqovQy@gD>Mf$TrN8?wSa=o#X7E~EclbJ$UwTM=?1GSoAUp_Gx9+2c{{{O;)d z((YrjZ&($r;ykiw)D@WoSL+jq-x?qff9 zK`pYe=y0g3I^uUAspm^_yZ}q>I@1hU$;D4g=4|pG+E0_%&IIVnG}z_st*sc>Sqb&y z=p&qH*GkkUx|w))#mLDW;$FeQoA~Uqp7;F#_h4hcdRS;}uRmSN158EvUwO z_U@CZDdKSYX`H?}Y<^|xG`Q#>JEyB7XD(2_&)Nx&=%FPj^)z^oitR*lZs@mf#>h$6 zT}`L&;2fb^jl~d;iQO*jGg@%ockm6&tm!dT*kA!&pJE| zeg5La@Uu-n-&3lpuwDy|>6l|}N%+>cFO*43Q0Vw}OIk(~zmboWwYy`xpha*D*?kp} zZsE6wj*6s1FaQ>*_vdoW&buke(L~;Ik+T4NSc-9q||wbN#HASt1~R4pPt@u^no|( z#ZL`JDOL5%(MrE=I&bqzqQ7QBWIvwuaXe4l`O1#y`idT*dB&DNuUS``@%IirY!oZf zj*es!w}15UIYELfzK+M#O+hr7Vdf66*fjg`C>noSK6`Zs?RlqR(oeG`vo}&Xhhfh< zv_pCXyTJmPNw!0ohtLA#{e|i%^btaKwTn+lt=x()g*opNnWQLxvI-dNn^B3B+W(l@ zi37tbXvGJUR|CU4-67vb`K6iU1)+|B;Q5-6UH__XrluIL9b7M(6AG}!F0ojCR#8YZ zq5?fx$N5^J=Q;lf_Sub56sjwB>^En|{g-6^jC5lFyjXnRm@h%)NiWlg3l^fTjr{1AcaGJ-RPVc`bU-K@O-b0Rdj z9(Ly<@1j6nxpDO>o%^8bg&Mcei(Zb?>QHfhs8lt>#vVFs)_wJ3$q$Rn?*qrtd)>;C za?)j6yu0?>+UyQ}?ZnD~BSE5-j4D8^P9j8p`O9ohmlEr{`?TQcC<;~{ zK$6E2$_hbfZB`@#E!=Svn zML@x$Bn}^7(mOfPDoItgDp%o_FZzMEr>#YT?O$>9rMc2xwGX(*2a2bbOATef#B&S0 z_;LLu7>LenV%;niSVow+C6UpKYYWBqoXRMd;bS~!@ZZv?!Iax>ZzOxBo6UdvimHeB z3d5FsAmZX1PFR)7<^yr}&@P!x{}ho4jpnroDw+wu+aCTMeG9h(e&50gZ5(+}IcQp& z+-V@)=40n7_*NiJ(d^^NM-ybH%V%-6K)r)TUa80+(FT2Ug8nn?MH=|P_DPE|LPp8z z{ZmZHMameWLhA0ShwrfkvPkk6aN@b8!WG1YprI?H?8HA06R|`)N&M8l^n&%+**GwT z&)~NMByf{U?ThY{gpHjTtu?pMLTZJ6Ks|v)V znt9O|77zVgQ1mC%b{7bKPL8kx8K~^J$6uME?Q^Lc`K`UVeIEJ{xVhh=hI6`~TO7{v z#CpGrTcECRFDKq>eycAFvR4M@`wkcQ&~)vOY2;Iw6@}}kLZl@hP8|$mI0*c%c>H#i zou-4voJn>F{{*E-S{UX)&<0%)9X~shBz>JgSdHQ(1A)K3z z?sC@`>yiB1mieoT+flz^fBh_c|uhVZWzFjvOumq3&9y{?@6S|sm zq&wPDct{LVOu+qpnDR#<}&UPpOfP${^9xqsvg5fL|kZ% z3_gN2y4v+?8|KRr!p@^<{cW>B9_q#eAhdYrP*E5``9xj^fVjCTH2bwRd zM;O`uc&GuwF;9f}IP70t3GX@buQ>>BiiMvu_3Li3@UVm&;0P?T$*P1sxG8K+QD@x< zC%^%|-fPxORcwlgRV;{eJtzDV@UAVcjmW*i z4kbb~*br-M+QNRm*6T~Bsqj~~7WmGP!S;>NOob*w{XQ~%0m2Ed+(Q3SfX8uf)gk(e zs29+pgh5(pckA5fkqZ2p z<&Q;Jjk~JDfPeZnl5r+l$8NxBEt^S4ZR3sAfA!^)_dbsJbbx7LddZ{YRQA`ujQ~H^{{JZWp zg5nW4Vj6yK{NfVOWu*fmS6`~h>Zap2iv-l2tQ!Iu*Aw%l$-? zI>_@nieFhKkxIv~jP(;Cx5#y={JV~UOc}hdrY3NYt-$5spJ7nt8NBlRWrWfr7!SP-<@D1HB$Ae3 z%lr5cG5)Y&1V8@p+75<9O~EpFT`E8iY{29UrV4oz#FaBwU6={c8Uv$_!F?2|s+Zd^ z<>}XvFaXUEQRcbAugMQ`42ibZN7pBAMDmSz)u|>rYDD%QY2lAqiP47e{~Z>0ZOD9p4uri4hFABAM*Dwu-mF z@PmZW(=7zsy+!ag@Da~9yX@&s@lnV~z7y60z6rKHSZ>BVGH|r`8eqtB)k) zqblM3P0x$;PAf@Td`^y(##|h51~EhzN$wZ{T+FKBcTH(Mk8ifE`zO*g45bU+CIIp*vxIAIdi| z9x_lg^o4$l7w=Mnw)4n_rJxx-)hLJnx$Xd+#-TUZPL4gM?QM)3InMnVK_YBSje^P_ zyW?Wx-fzeCIScerwYzJCV zixJ+KD@qC3&^7-TO8{ra#}5t&XI2DyZmY9lgA(k;k>@v#Lm>C7h0`xnB@O8XIUjaq zsN8=gM!2FL7pmhwnm!UARx_7k!OjhJ3Evy-M}-L=vsPe$kBEmZ{s8xCus81Zgw#Ul zw4tF+1aAD5yl zJ?qyC6vtjE#W<@>;jyu+lLwl~4zWN}?YFPB;}<^RR)q3vHy)8FTDGunHrLp9i@IZ9 zd?JJjiNhj^i%3H=LrtNr*gNRzICuauhC}_d+!%&I)9;q*b5#wzILuli(GNVYkrzD) zLR{)*1KLKvTRThn_%TK$%Tl%V>($a*qj%yYq*(oKas-XgY}G512gO-zBc`$;^fqq7 zt8IpKhO$-epKV4%ro43&rCSICaH-Va`_un4JK&wwNYsUFjpV2ZQs~ldI9wR~VK=oW zB)tUDG|#Sf4X(ZliJV=~OSQG}>trE#AUiC9_=XGL4O{jRn~Qdu6;Bq# zvgz;lhd0a*)q^Iv^oe09RIKxN!tBMCgG<+T7xA`%f@1EQ?#|q1%1vJ{o#ps}aq3Ln zUBO`7AXyHwe!|>XyX|Onjy>C#zeNhEUlyr_D0^AqjYW0v*4oYQ%ynkMneo6uA3G~i zJBIePnvma2{}Mkl1_g8$esnieup5*7y##@^wdqx3VoB*&n;w+%$RTGPNb#+_qf7fO zo1JS!_{UXqAxkU!1xkWgkTn?E5S8h&2Ovz=w~#5w7ufKP+cif(lc@A)jx6*4}U8`qm6Pc%0phk&nsb7T?NUSbLBY4g7`a0X?BfJ=zrST`)^R$k_L~0e82PX;i~CHy|Lx7U-}qfS6ZQmU zsD?uXi(z&`iC$@M_bArW;MC{yZ8DJSqzkW#!akZ87Yi1B_1;yqJwVM4h819s1{C0O zHFREa`=dH#IYvcgIiW2k#*5ZvmAVDlI@Qed4$DX7e(mL+Y@nxq(u%#ySI{!8<_2(1 ze3**EmG%=hw3DGWxJKratX_A4nRplu(?r81#E{$+qg=?Q!PMJL84S(gy+YAB_3qYnhh zqw9{+y*+I6-ppCNDr0qqwY{#YIO-$GS?NNTXW_`i&39l@U{=3pQXgfWDzE8zslhfF zQjttp8PC-wWZ1;fPj;diJ=t`6R$aGVaMi6lg*x~@es8NV-e0F}O zcvN>^#z}oEECiKK8uww2?>-W1)!@@~r!627t!ZCeUeM2^E8)c@S~1cnW4iGq?GKO) zv|~WJKT86oMv)gXx2a!4hbVBfcYmX5JOYP-Ps4h5AWr!{4MhF90+@B$)DF=DM?E&E z?^PKay`d2E+px;HPGA|iNc|0D(duV^(zXI!Zo3fG78A(u??0(_{rx7Z#3@;UWl(P5}=tQ5rU$|ORt3)X=+q(%oPTYZ6}~i5Hl|3nkC`VT~U%P}4~;%#UakfPgDpa%_Gt6)uB%tZcnpew`gI!F&U0^*dR2 z+anq*H#dT@{g{!xEnwYDbU7EyZm#2|aqi<*$Tt$uL|#P95 z3L<^p!A-A_0ucTf*@EzbO?E^dj3Yq9{3`a0GM}gO&yfk`L)Km04MlJ8cZMZIZ-yz8 z@@a~E?6&j-70-;eLQz9nozjoUhyl_Vfib}nhYZiXSCQ2H64yU4a5u88>XFX}903QY z9f6MUkcuDE_u9{hB1`g=9!39&7v=zBW;;kO^WuMqXmUN)hYfouv#U@N#EQ;udG%g+ zNBUWkl3O>d_{kvFe)U4-YjlJq*9Sd1A{u6}>^zF$gA~BCqO_nNqdEB;qfy#MuMGKh z2ucUuW`$2!)W+pcKdBsnX6gPx@yBq}i&>WdJ_O^;&!1FV3%k_diXk4Mo$L>$sR_Fv zhYzoiZUAC?sNm|5si7^3F|IEM-k5sH@jL7<_ASvpl|vYBdS`Rr;sgd&aQM(vn^N0i1J%^mIU4ktzlQ$LDH}iHis@;-H;rkyjc;i@*<$3UA^abMtx$WCs8Mo}U zPSxdcs5bUnX1P{7ZTDLCU)6D<)lrz5%fZAZq~JRp+*gdaT@sEuZ+DfE{{hG>A{`zk z6iW2&F-L{eNa>%HK+NHWdsmVTfn>|e^0WOTFeAqt&mA|Lw0A{g7*Rh92BdCpbHpM6+JTo>q;2aOCFk)Kf zLx96nh0?1F)ki95YW=?f|8wVzNey*$5+oxqXg_ z`-q0LK~s9rc0w+F+w^$4w3ewHeGR>!Y7Zv|p@0NUu~_cFE2Mqf`csA0 z3qwW)Vta!6n*So%6d6tE|EE|8kZXXPQBBou@;?B!6|Nvm_yXh3}GzOeXx7U%^Yb(hfgg;JjvzhUqumLgQ6ZKAglM%@$6riI-G->)N}Vj)Lpj ziJvF?BXqSqg{xBhaB=Tc%#`mtks%G-WgYjNfK z>8t5Zr$zX**&?BmlCItW_lLP%N1SZGoxGATtPD}!PsrD+y37`%4DSHOvVKFz(ua4E z@TbGmyx3s)S*=BsMOOUrjcNAOGBp9<@ja%wX`ov$^4 z8F0ea!b^bWrV+TD;ndx~m$NJ5)sc>%EJbS*egGdZzLo=~<+33^=*YIK0iv50D zPcY`nyq@b45WantwM!gyfjscskIKz{OO}&T3hG9hSC|R^X-M$Dr$UMKQ~XoHD}^4A z@1ryy8IT&(?1+_eIVSQg>i8Yt#zj2F`-?Kv3OZ&qzvpU*G>c6z6Sv=@7vHC^fJ9v1 z_0kCB7QcB-uls_O&G`8NJ)SUN%Rhut?cYqmp{V*d6O>7q@c#uSU3H{W%x8w!H%Q*Q z>_4NF5?ucZn1T2%s7MQ%vb?G{pango=G%B^?@Xp2y0(*8E^O*Dxl)6~pS)^|$#@%d zBUV!xyhpL8KeJlC#hwuIRI-&wKY>ja)<62cHuGk*X`B~%#Ts>a78QtwNJ-nGntHqJf{`78jR=h#a z|I;M76psrTqUY;yDI2Ihc-H=!4s{l&Kq_bcSB#Z!bGk52kX86U9fJSHbc7Eu?{zv+Ge?vy z<_Kb5!IPRioNHH$78FXHn!&`~7XpnE^;zqg5>l~z{Vp8#NQz?pi2Go8>0EL2b%+F-%#wj5g$P& zFp8K`P$}y-M^dH7oF?`qz=vfkPy_^7g_p*6L74tZ@bcs6UC?ibVpojzI3{Q8SGKeu z0?4KQ2qScYpFOnC4C=Z1D?&@_<$?9cNO5zP{OiUGDs0=)(>()j#%k8QUAfB7cCEa_ zh124~&+jdKw;`%{Z&*gacZL6I5>mSKjP-xgr8Fpi8xE8mp`Dn@&lkPfbl`T*{J0{> zyv~}12&x-M96>w-q$8w)pspbmO7W2)ZzMYc`z6?f34yQ8PAs`u2gqk64QT|JkLyh&yoE{NJz#U z*^j&%3~(UeDk1x(X1P#=;-4&rGJj;hv_-gMXdHfi?Q2C7H7-t|r|9ypI`SMzoa7@P z0O~QVZocvpvAhZeU5nUx!WX?uT z^Y_I^R5J|92)Q?!vj4Og{Ky1>oCqrLa-(m%pfUGIXPjHqod1euE{?SDlz@)y`cp-O zJC2GAHMV`_8#g8+GFXxinHN86OY=m!mlpY#|iW}0B0@PN>XLEY*f8KSCwzl(Y_k0#LyO%PddG`)6MaKFiz2j(kCKS@R9!5Sfg_#EYbRu^w`t zw)jVlJGiAsz^}=kG><^ai2jhi7f2BM9M;dMl{_nuQA!)8Pr?5Qty&w@kP!k&M~J_K zofCi=?ajiv&RkeNFB_x3gHMHJGrCc6f8`dP4-4cXG}Kl3L*D$zi^JTVnzu%=2--&;I2^^+Wh$81wh9A_H!-tB3W`H#erF`k|EUBXPOyi1~nFT&{*9+Z$KKFw>1ib8Xuf4bg)l zRn@0xHuRCG_E-I%e) zVM4pQs(&`?tyGq=o_^x+>A|w=X4l}q*d)cJ?mayhI)ZB4G_J+yBLK;#V6NI9ZMfvs z9X0bRJlxaUWhB7|qQU45O21q4vh#-p7{s{%?2D9r-qbG4LIs4jH0W=cet|GbYWAhT zHD=F5`rT~_GxgD)Ov53p7ofV0>e}YtkINF(mJbQ@8*9R)rw|1<>L*}a$WfgYV(+nM zvWh`sg!}Ew4^0iDLQC(tFG>;9%1zBMo{_!6g!b>v*V@!r_5O4kc#)w_bcmBn76>PI^u6*U<|dJCp1k&__heE|E)ZhUjnc{! zA0gr68&wQ!4Wb!Lkg7MCtKe>8htkys5MGRnF(}Z1R2+*><(|%~Zvp*mu*tX93lzfXums~YXyI#C z&*%t*yv5MClo)bl>E(iZ4V{n9Q*#jG%@xWiM~KAXy(;%md+v1*&%=h7_*9;xe9vW~ z0O(|~zQpmC!BDc+H@FNl%q$nXN{d_F-K_jWLILAj>funbA~yUprVGa-38zW%NgPpe zYX!oIT&Q3qc9iJ0l4mI(t~kNp|Kj;nUur|VqLK__s~?T;m5!^LHkTe*h?Xfb9UD@=||d6-0L!+r(SGKMto-5)~8e(k2L+Y$weK05ndap&{yu`;|o zh<9Lx?FX2V$Zrt-1@oXCqUptR+iPrZ3B5IzYSl36dAYAgP z=bFBdsDf!cy51iGabNsM^P-N-6%sIlZ6xhMLbfxJ3zQ2!&z?jb2G;|Gz&Evl0De(; zCU-`q&z=$0)jXPN`J0`YQviec+#W*^_ z{CD()_|?Oto+Z~uLz;Hskcagu6KC2@O}H_8E3|RwX=@EEg{jC(J7WMSF|ambW|KDidRH#O0>{d9Fzis(ewl;b)~-|N75;@g#6f>3!x5|OzJ#@78?(Me1j+#B3pu0Fi?f8RN0($ULM`=!%)+=q(gSSvopwMxpp z5epuzzSm^Tp+9zuj-~Q{G*pL3V(XL%b7pR!ZZ3%a_-Lt(uZfw|R|xAI$Vc>P!O3CB z1wiXDf!Lz;a5zyOHr0aHY%qI7R|QQD$(T`?M!~yBW&ovOtkH*?5{w0yKWvCwM=$l8 z135H57V&AOTKDD4KP#!@q7)~f8BqQ8%wzp|qdBF@Er=Rv=xB&9Mfh?*>09g(vd;R> zc`wCWHa8|hn#$mNpPQy!-02mkhzfoc(^_$Z&y?9!$c26x735e;QJozg3KZ}g^o>oY zXo=lKYI?Kq)tVZPC1XN58bs4ecphXTqZ+YF!a|zyCfKG!6Myk=SyC&cW3xzKq#lNu zXt+I6eow6IZtQ2OT_Fv5p3z8JvcmhB0fkY{MyVO$mV;0L-jD}!DH!W}Ll#qFDxkIk zN64+R`qCT@uCBuTZy>pFM_?uARq=gyaBMn*nb;8!L-)nAG)D6_D$*fxsHCtj5uC0- zVAjm?2cE0a%RicR2xSDJJWLT5sjirxy$tHR<>wl(AyG!0>)h57d`{2O)jQAJsdZjL zw2XXx-MN|}(8vym!i94E+&mJ%(h>``aWjDu-5s$F_i%K#TqxIGMZK0x^y|g_d%gX$ zPik3qQ*}leKSUjU-GO|3g3LEDN-XV;b&B;(7~A~TXl9U{QdDke#4mHKp3TndIPU>A zjTOPo9Gj==QXOGBi=^LbZAv8oFP9jVr-ZMI1r7sS?1;D!AB}TxrW+!`Be_c0Zg?2- z8@(+ad}7gBe*@0=&e6j5B~P_7@v{CpM)LA~Z$4Y9*4XzOZYRNPe!=*nSd)*e>>UscQ*aJg`B#g;%FC%rCw)dQSO&~D?3qR(Ki55S2UY$fJij*_ z5%+}5mw$XDpN0hAywx~i&ar!b4)H%kwt$JhFLp)UushsMHIDut0HHu$zfEcm{W%=S zgG4s7mNIj+%sWOig!_UB6y-xBILn#JBV3VRPeN4|DPG+U1K&}Nd;pDN7Kue1j3c)a zCuKRT1n$?i;!dR#;`Gb8lYw`-RcD}ITychk7_$M?!*}ZZNeCIUY51(y*+m{Y|0CRZ z6_*M7)xu|mJlGVZl}8bLcUD>Z@MwQ>Ks*#9cp{^VxcKM_zDaQD2B=Wp?uUogHWzH{Ft80^+V@! zRL(rx20oD)h1qV39_sQh;uHPDsQq2CUDl=NB=@}M zqYWJB{OtcasK@m$O%7c?VEtVkHqeW`63|C{AcUMjPp}N@_woh(@A{PM13jH*9*oan zpnJxw$@a-(_OO022A(ti6-C)tR)%FWWh zHQ~P+{`dEE*#Lf9gZ@{9&$i$(r0lmiPEdn|55*LO8-n7TVt1=b0kzwzs=rtq+NdQF_w+XmA0_{-xPe> zpIm>xef7+P?btoX0S`_LZyo!yIry(+|I~uucm4sRj4W|1@SnC)Hdq}w;LjYf%MSzn zmmvexc4QElgD0D$pM$l6`WJ^FlT2Z{=kTjDOr?VyXbCmAsDU0zh@<4Hs=*0C)~){? z4t^w46cKw->vq1x`UZOJg;fjiL}0*LI#%0rE1rOia=jqPK@m+%IbouoR3YGBbn6g}kv12+Zq4{VMd2!`J)FE(ApOCGdp=;SY=U zcc~t}@}KBuciQRO9~$P>>ff9ch!l(zm~=B0fqp^%Pzk92Gr&Vy4URycUHzdmZR)s2 zt%#v6aecz_i^A(GAon5wgT??`g+Tyh>wz93m%c>5q$0Zfm z2E6EpYzg?0{sHLt$Cs?M{$A{PK#-fDpHyuv_^-r&K7IJiX@}UyPdpHl5O6TJF#WFt zpHCK?e$N^Gz@6LvC;c}h^dJ2#^jB)Joy-5+y7I?Y8>!6188GLS{C~2~dpQFP#l!W# zYTA_kg(7~-p?leP&N*7EcIc~mX%D#n>*0;{zqcCFHnKldH$DA1Td;hs<@yG!t)s`D zT(&B_kBr>gO#cnq!WHXmeS0@>1h$)^pQQbR_HT3azgqs2b7WnTf9K@p`hS*uVgphz zDO_Y6i->VzAlyJ1IS#gv!a))nn+2GU1-y^~>Jmz0eMsQHgah^9s{A^66)egSi|i2a zfe0O6VHar3zrzazmv%j6zkl*#8!Yd)XIkgk;A4 z$^ok?sk5rG22y7o{p+na*O})F*+O=9S*u;U;JenFp@WA=D31EFX3S_+p@wd2>0JwN zv0wZrlj@k3DYyO{O7^W0?@DuJR+X)>w%mHYiXjSYpu`#~M%lXFl^UOOEEvv1@Q`sI2P_b+m z8ewz#H{bmcaNURgPs1%Wz|H;;kEO@8)fHBe#RMQGNZY%6G}x`HEw>tcBY0dx)&FPj zJpk>hs`T;o?!B+q^d8bf8lj|6LqhLGKm|lZP*G4uK*utoO?ErxER?swzBEj*~X}IsD70_8&7R1|xZ+P-G zG^G>uW~`ztXRU4RmMhL!c}dPzt!YBBjFln19BCbBYh!aO9!Ft)s9pL>waZCT5}SvE zmrdbUD(YO@&~9J9{Sj+u4!nZ`tpZKO;6W=Un+*-P+s#D=RKo4r)fGAD<&3rB5tfD~ z-U&w^;E~u2(wbYjecJ6G?L}opnV09nDZI8~09KY4gSJjMGO+XR*HCzhF>RRc6KP4@~CUT44+j zE(H&{eUI=}sE-b0ePc7~XS)CZy4*S45Wf>mF1lS1QiMe#iYZ6TW;IOMy!^2tg22i9 z1GP{V0$=--{{c>M6eRjn|GyjZ4+UwZbyb)=wp+W#IY;W|#~%mg=EgtADi`3&N}z*E zbI=`KwjR2^6F73vdxNV>t*W%xYOr&rp`{%@ColoNyaK)|bag{Zr?s@SS`F+Jbr&8~ zrItXY9QYgBAJ>0Hws_@w`@wxrTT!mq7Oq%t-@oq(J${I&>;ZLuZDpCQT1P)SBmG-h z#_y4LStE37YZLS^9b_ERIpOLFZhtn9A35lhqD-;Dx#D$-=tmlb>QI7>E=w84?2yqBTt6 z74qnZAY>>hRC##j15QN<2;<3q$fv|!LaI6@07s~vfM4yU(H9lodJYNwBRalzPdjDi z#rBQ6K4^1B9&7uKIo7^*`{{PjxRY(hhH1-G#gr5Z8ew}FZlY^cGT=C_K~?$tqv2@Hca+jT(Q$JmX#aHdEZb}J5G*og ztr^bawU51IKfV7MsM-#@T`{XZfx2`NaI>5&^a}w$E zQM4Ts*egGLxb?#%nh>)`4Ysp>af`igkBL@|{+K*;pbe|3RDHkt>(e$24)6SlBjKRs zY&q^&TyWi;wsdu~ePo|WHngf7Hlfre4X%@;`x@|n{OVh*y{Kff_}M0k2#?-m|2Lqg z5Bfie{%-QzOZ&fdeIq8o)mm8WXlc897$ zHrhY@_AWbi>S#ND`gko^{_@O2>~lB%+5Wa@xqa!FxwiZ8L0Bj(wpGwWcRaV)j+!>k z-gni_SRmAjC0pXkg-ABie^W;Ew~Ob^v~zxbo6Q+N(mpb0vVHWIciHYp|H7fO?2Wbc zHeqmod(RK9)1>;}urp>*RjJys8jFfwy6HiC?)7yt3sPTiqW`6MH^NW-+l6hrrC1d0w7L>?r%t&u+C<>)Wu{*<%0o!Nakz3_FH) zzK#j~N3Xuw+R+FuFvCoSDVqDM{LVVz@^k@?EDR~^V1${nq5Y3go9=%vucEA9hcy09 z@BeEJBu+%p&oX3zKao-}n9PzSBFq1@0zyFmlo;&uEhPXNX>rgvgi;t(30_c7++r=x z!l3sE{E;9vkqricpfJ#1k}b80k}4&ae9MzKYW^y5e7aVrWZx*U;XYj?NVV-K;PKJYJg z!Efi;|J?s2+ke6dHl$>d4J(^q`;I-VJip+uQr!`-J@xkG>`UeT;sPEB(hS^^e9ndY+mwjC*Zg3U5zjn0FvGZnL=J&K>0g z+cYqC7)CzIX0rI7xP@JIE; zz`%YLcJdyR?BDNt*be^suk3ipjSxYn955&P6NH{0pozg~1-di;J^ zaW8^Xa+@84{6D?0#P%CM3i?TFt*Fy=y&lza6g*4!$V32d1txHnrJUwsrwb;zyvxg@ zs-(n*)>PXUZoJnH`_3<|4wJeI58T~ueEMZO;yc&c$FI5F24XVz)f4yCq}^-PCOZUG zyD%~MX81{e7X8OI6r;aJ4XV-P@xou5w)cc#HfQWGI3~B+ zA>X{l{_WO>>=ST?`d63W&Ij*ElMbSF{Ke?IsuHZ`!`BNj`Vkm_>#$br-0+~8#{Y=~?RI|JNcyIB`xfeQc;Dl8;J^OFe);e-cFw-L+1LTKcG{0_w4=};YjD^8-2Ha5BIteg$=q?n?a?JG z?YQq=XJ`HlPAHtaZ@+gwc}4hT0Gov_$uSH)p2Ho@4B}bBLQiFou6%@ZxZ|3`HLG74^2=0@(onx%+6rBg zgKjPDS8F*gq9M*6-cbG-j{~Bhe>na-J6i2ydrz^amMpi!{@=BB%76dC%0S;qGsoMN zcRp%Ad+;f2QC?w({(o27U!kWCn=#7fLDyXVr@z>O%YJ6xy8U50Znp`zIfS+Y1#wG5 z26WN>bjQ!dJJ|&&!ZO&na`FQ3IqtAKcisWhZB0{?z4u4Iw-bNx zJ1oG~+h^zRhP&R_wM0GYZm-jealSS9qyD8mssP{Hnj7uY2kd57J@k|v^o?KHM}Kjf zjUP~B3#N>)veJy5j>X8U|MINOhu!?>FaKn-Mh>#wM%2+$zz$6G5gSi>i5~=$Hp)*q zZdP4){)zU~(lvIbu{J*uxB8E-9mneYjOUixSzb*2mvTDS0@yN z&(S02Ux6QiC!pkA)4w@(I6G7<5nhid9f*}4PGTNmwBkUPdj}9mlQ{-rqj7a+v+)D~ z9(7YJ6BJF4!;ki&;gNpQLpq!Wgvk?;=>q73mT5(J9--0xvh?@HUCy1jnR>;|pRuJK z&supk28lJ;O;229N6$D1D@Ulk*l~z2D9d`uyz(3-)>u++>{@H3Ratv>{rz^yZ%@Hi zwbeFtIG*i-kiSv?f|XU~?9r9C+T!26V5^&#;jY7Q4F>X9mBoHQt=!hOVB8tDqJD|} zap8~9zKpHtd;t^k585|RzRj+D;7gXRf%A+qY>CT*YGQ)-BN9n>j$1JD{f`adC`8(c zR5~(*eHDr$k}#|T_3=tLR_Z0fnROsN3}CN~JQrA~Uz^W8k+1;fR!G%}K^)7IpTy!Q zVogj!n1tc*HWQ|xF_zOh{75CgRDuwwo3KLRVMkY}Z+qkSzN15y!z8%Ua+ut-H8yCwm^U==RWyTgG+$JU zq}~S~{$_vdUgsw%*?JpTDtYtW@X9D^0!o z;B&6J!4|J+gELrx=Y(7A$_Jmc&m6QD^xi}8IkA-vWwp>4YRmI~Gx!6l(38|M(0kZ^ z#`N{rPn|2PviqNZ!%kXwt+nB90-df7tm@ZeGMOu9-cmc|``6m)^}h941yviVb9tmJ zc0xCvv-dQ+2a5y0e|(W;%4>0lyV*W>-CcJ1@$>Avw>*M0w4d_MR!FvS!T8T&>z!4> z&|v(dMk}rW?U+19s`7a6KLmG)i>wK@XjAwj57n3859Puc#?Gbw;Q+u7 zZ6d7K;eF|4U9Ta-LDkEl|J6^dg5_KiSRD_=cp@^^jXy3r@x?O&VV@$b2=HrMMkCE) zNbxdWFY!}PNJdnF%SuF{5~xS~X9V?A4p_f%>WY*9D?@EY-03GUezGA9Ieu0`yTX)w zdq8C2?n@wnC0LdV5#lG(X@~IdvP4AWlk-_Hk^fAWbTB_+0X{NQG_b56vCT@^Adme7 z{5X?UdS(y7G&wgN>g?K?+jO#{kpq~KZOK1+kR8-|yUIA3XD}Es< z+8olxM3)hU9lxiOFUS@Bgo^Yl1X!C&y%9h;8*s?Zk3nUtjEN<-0EAp>{Q%wtt=^$F7CwS9;GZ-S%XJ! zI_<34Q|ZI%Nf|}`95XHrTgH!q zIvkR1#kOWlz+YLl&PuS;=(W{NcH$M+aCbR$awTp`Wo!)=hf6D~?KSB3@1Do4u>*@A;N-vG@i+U;IY;77c9|_%!#?7pKqyP5 zfB`J)^+g$00_5Lm%(t0Q3h1O5YpWL4#LcER31B1*yYP7?>u=>C&zS;vb?WhX|Of*`0} zns6YLD=PzB97Y}@ZXVwMEDsJM$p@FXDVk|G<(CAS)sWC=(ywZWpJ7xG9ahh900-~= z_^Gfqq@Q=bVjoBPIVp~eqhm|9Z9V__TXPBg;8!*Zwq;R1a~3x$c7hm^4zq?osjRp963 zun{2-x7plCuo|R$(?Twys8gRYW7W)~ZH>hR#gio4ixOV#^K_mG?)0+}sD$lgeK<%z zeLcy)QUI;-;0R@)2m}2n`cQVm{&$K*Gx^LqRlkRcy^|dy$2j0cRNwm}Gz$V>C$^S# z;JGM1m*tg&)~Q04E8rIm09v}L-hTS$C+sq8KYnS&8hc?)J$AS(w5MNNV?}M;N{w>( zaWcm@Z1-rgq&n1IgxBLG zTMSF4GNm?b$Ur-7|B*HvcYJx5xF4=LK8q!05e@qam5Sd)6pqc|XF7j4h@B-CEw9I2 z)u9t;J+;X8!d>udK752d{rW0<5&ZepgU=WqFjEa| zK3gjyJIMn!jkR{z=mFJMht>XnKWSeAAp;XzOgj6+!Qp3?yalYl+f6zotArKP7+@l0 zlW=Cwp^v=P*!s?0J?NJvY{eEl>R*d3@T^UIMY)x5cw@c9|Jw3(xO1N|K0VVE@DZ9v zgd--7ckvZr-p%4f{O#%=jeoC{O%RQnlz%ot)R9_F%J|2E-Sr>RkQDtCwp{I2|Fdq^ z0RUw%Owm9j;s+^PqkoCBfS>qKjwe(k{DCN?5FO*_4o3wT;8CIO_(4;5`dQW+26!leFn(~MG>@MRRKq-vcQ3osPh3t5X(VG%PsGo9m?lQXwg3uM zc>e=7;AicQ2K51+`Yqp}Pz_-Mt5mK01}v7G{Tf7*Z1JWBWv!2iY!6gz|Wp zO~o7duUaG!UQS~%)KSn)uvw0Pg;~Ao<8!S#a8XDnc4~M0NJLTrzsIBg_eLU3ObYdg z7KBwF%Ywc<{#Y5)0st-w35NMVi84iTK_Qb_MNaBQZhe zBQlkUbGH>mfpj_ly#|Rg8?pub0fg99N4B)WzH`T4?Hl01OL*MondR&4t``^EgD>Dk ziFl^@zwiB<{p0*S?EN#=+4ERryycn2_9(W0W1E)aS3Q(zwkhDp7^y4g&ajOA8@7py zLF@;>*F|7q}~q@UKJQ1 zJgT992c=llive?~w1bau~S2F@lY-yoW)kd)kZ6!b0Wc`>J=pmg5XWJ|6!Uf;QmXQ1H zu7%gxE6bj?5w%n7eS3dO1zk{C3Cgj!=*Ixgw%9dK{j2@{$sgGM6Hl~BgZ9LyK7L^T z{-^V7QPZRL%f~OZ>mIoR+bT}6DMRPlXAil`uDFwR(k6nr0YAB)#Q@`#xEfp6>CW#T z9{-_WsaS;;1MQ7Q-gO`eND2HWSTydOnT33YNdpt}B@hQ*C>d7CsgK4T z;y#(8Oduly1Uzc1!mLxZA`toS_*G%xmBSZW;xfjvj#mNTVI1nBV2_Ae^s~(b#*cNf z&8iy-fgY9?SrI-oBNk&}562WtLXbw6Lo}dH-c_a8>xuwz3py6zl__KvugnL2H)P}< zv8Vji#N8s0OO7p;5)~>OdM6+elum&b z)}bTTKtMmd#*iM8^ZZw<3AX`MKA!M{Z*Q0Xkf*Y`T9*kt@7r3>msD}G$^-qGmvuz* z;m{A1A@vO$3N+x#`<}C(Kk&32x#uL?8_&J|$9oR6PhESPJppG&LJ3@yD83 z!gIDSFI{1KjTvU2KRiq(QGmXV^bc@kP>7VhDSqWgynb!R%Syg{{R4QJO4g3qeX`9N zJ=m^%|3P-b4}XW}YBTmPH#}r@Rgc=S;Lq%lgYB0eI>Ju>@gGGNUwBope|R|xc!LDd z$nV5I{K``M1-8wF*^o%r^UuM7bXy@IP_f7xvWj8SLdK}SkjOhAi0I&j`bg;5r(_xm zkq0cxGG%cqJWHT_mJ?YVd|4JDHiutT0fIHQV=Faru^ZVOhLr)t%$NQZKAr;q)iVJ& z^gm(QCOUV7V`*ifQqh3+k#529gpT!mq@yY(2{{5@nrSTKG-u$I5#A?=0umnAf5a9l zAb!>WWCdOY_y_|&i}iv-qUxo-CT5R&fHiS(2xEl!6$6a=iI9#pKq0QuNG5*Q|D3tF zzIJeyARh>tFO2}(!xqzVjuSPe$$Efr)lB}gXdXWzp)bTsRm`ec2Szam58J|0tblk} zUZ+qOtI$F01QVu^!gxpz$w~hQe&+e)T#MWb9Cp5m=kF~4OKST;e>yf!dfWMuC1UF) zRBRF3vDxtt_(vD5umzX@-1eKkiyb_9w0-)(nKq_>wSE82$3+=itwmW_gErWPYCIQP zj~zpC{N=F7#&Ij5A-aHHK8$LB`~x7rs6-evjB*-O8B>siN;qT@V!J!A@c6xx55@Zv z>g{(}sD1L4CAJFNhHw7N8N#74>cY-KULot)68>&&B`6n^ZhUN!-2nZ4#9mYEfbqj+ zkG_d5-8cPhvHkYpg?9ZT&)X5ZkGH*d8E)S=ejmH!_xIbgSYTB7I3Yq?=(8z`!OCZc zJCODrY!Sz+ZoOF`5bIug(N|Y^+>&D(t>8)gaOyqDQ^WWKvYli8#oj~9aq$r44@u-T zPA)4>rTiBpI9%irV>rl54|x72=m(q06rNd$L;~fM5DKG)sQ3uOmhi_`2r^160^(~#RyPvz> zM)VtF3mYD@S34fJSKIMxc-l_b>s)tO*_RRo?~@JbM@z#}P6uAd!q?1qLXq(;vK`n$ z*@e459e4o@fBXg-(>syI7wqt@f_z~P^8l>pomqx(T^Qhed4TGJqouk~mUle5fTK%c zUIE86z_V_~^@dWm0YBBjy74wY)v0=89`a$p<&+CP)WLFuLms!}&|zd<=mhki<3J+v zStrr}M`wa}%or!H6sL2*dI87plS&2v$9h#3b+Z$g&v8O8DjhJu5slnamz};n{=--Yk2n%^ zfM?W>OxcY;^pAzo;*lFyUvH38ow9%bhpz8CVc z_KOE!vWu^~-(JC1z$2%Rv8P^JZln8EOE-`%j`h=KP4RYNa{CmXi5p&5gS!UJ*gn{5 zi&nQ`k+Q|k-fwr3DEw}JF-X}K@z3ce0Q=0R_pBQr;-xS#qJO8K{fQ{@k?MKjI<%@1 zZ!6`Cvpna3DWmZ+Md(}fiM%nCaU2`s7b-weuW|C*hC9j~czY{%7IYxq4kwp)lK4`c zHpKZtm-ZICu@qsZbs(%4?x38~k=Dubt^7VHb|)~bIPD1Fd1p#xXm9*S9IUqkJE~Ym zC$<<8rjrhRtJgQd(C4yI%x4~80M~&uobV4Dp!{GTkS6;>+lH|8K5Yl#d8JK}{XtzD+aK_qc7?Ce zrHpFP12EM2w7D98j0ZURX^gTA(|JH>-2Sj{DN7n!s)OZx5taQ<`0o7=$X@CH1ziJj z$qOBl|K3ACcjT}?+cCCUR)dAr{iT%5Hn$p@CE(rJl_Dn z*QQE2DP~Dk!1^4Wa1OxB3I|~K%s>46cI?<$YRejm?BG3VlZctc3&0!OpEt!Xr3bu3 zjXDP5(ZtJ6+y{>_R@g01y>4H|BIsYSm^pv^FssP5+5dareC*6D!6T2%d(eLW)XVnK z{bpz)&UZ@ik)nuyG#(ccuRzyod^v#=-3Hj)MQhq^@!D2reEFE~}=UFh|xfDbD1jQzwkbw?=Dqwup$YP1U%2}hKd5JWr-G_e7hV4jQw zmsg#M*#7Y+yd>sAJ7(I);mjUT=OrZucwjiujfItjH@iuzV!ma5@A7;~87k zxA6)V~o44zG?7{&8JcR^Y| zG;g{+w|tH5HM~Fc+DNaM^|82|15V^n2=<5gM4Lk?uC@jI1^NR{*tkX5vUbT4qiq=` zbC2QWP^0Q9ZD0kSXMX4zn}PQ&oQIcgt;K}#1+-y!O_koX{HJGMvDdH_@cadP*hdfC z%^qL2+9vd`!Cm7ac=JED9z);%5YKe|=PC2;l4ECsw@cv+W$_Z3sdg_G7c$tY7YGsU z`Bt<2Xe-HS!9-^I&;ho`xWV=q-aaZPh0G#BfDuWgA88D;3}MI?MR4JJ)4q7v?s$9Y zGQF+(1A9!c8=rUyFTNtM7`R#d$_IZ`AL|q(WB3J}Xe?shmav8z;0TWcjS6T`#0#;F z2<49$R%=KEiD6=|^FN%nM1Si4DDxZyF}$tv&m94jt(G-w@?&euruP~ix51+?E7sYmcv0d3yNWejXD2)~CUc+GNuou@oYM1~1 z!!~i?Y`iM|0y}Wr`|a9?zHZO2yWbWzVrA`)&)~BbN7;$f|H0;tKHC24wlCV_OK-=v z<#zko17E}4-CgbYX`g~aG|w)({w#ZA-78R1P*fG2_Jeya!dA9cJ9N_7cIZUrEwZcr za)}k=t#s@b^#=l?w>$l@mk5MI7oPa*jr|XL`?UNg`gi*N*A4|f8ykk{o9SP{P=8Aw zb67+3aZgZiNLH=B3_dB1RR>>cs{k%K7akacy6`WF2n@1 z19z$Z@aRIj^bhyiJiO%Ugejx&LZ`*}G}2;y7g1J%I+Z`pM-?VI;v{BhN9tdOpyH=mec`va*8E{fhZ;YSy^3e=FlGTd4Z?B>rJ~#XF8|&=zcoEftaoAElf2N%@W2}7z zlmDjnoIUXT>-M?-y~B=xb8-^kr;wn}<6A7vgh9dyN=q zXJ2^(UIwd!a^k%NJe327goj^w z-4-odWgkMnzJIqdcIUG%+ZA}0uZ!EY`KM}FA7g&74T>cF-~0R@jzS3?yO{kiY4ZLK z-LAf;45a?wsrsKg1^DfE_UP98-yHLQKmN1jW%zQ)UC{ZRcHZ8*+9&s!X0Jg%f9K{0 z_2%i@AAb=qwOWGD0L`%RL+k7fybS8xtN(}_Iyrmaj4`kWo%YF}-Ned$XP%T>LH}}g z(p~=%&h-z@_;0|@jwSf45NT?{PLIW_)`BkgWpjAh)MtNp7yRJIgoUjJe|ys@qxyNvL{N4#|L+@IfyolUj&>HVhL*|R6x ztzxU|<5+B6dv(LwZC|{m+%6ETjE%-(|^{=)_qp6&GQAblv z=O1w)l|lal)NMIo7y*%Qt^a%H_%E7##^*416-UH988tGCti(SJUWid-5JXM@cQ%GI zIj?lNFDlEpg9fgvGni6-Ckpe+GY|MvkE zW6N$9FNDeRlPPc@J6gN&i4A-ktdj$bb)tIo1@pLds|0URZEZ(hnJXo>lx^%}Ip%fX zjt`1)OI2|h6ap0sXzIYX$Fg1gfHvBYZ39l!iE!v7-5!Tk?-+k=O z{omK+Khe*T#F4@Q?_(~+Fq|-kdZGR+>p#f)jhiUiNMin=LJ0!F1x{{d%RxVJGMK^k zW__B8yn>?Rc2j;!oLf9EI(#@rtRmy4xSX=$SXv)g6C<{w}-xmcQ6*%hu@=A*fsmojfQm%~~7u zz4L&x1fu75R_J5s@HXmlZ1dx%sYsOggKf4*!nRj3nA=sMhd~1;@Y>Fbg$mrj)fyl>fy{O@c2U+Vu2`+xYHeUuP}bADVq6wb5@&{bF` z!vWm_zzh`~(mCY$sDW$-{LW+d+y$TN9ARI8-s-^W3b*uMeDrK=5gutL{os20#wiEq zb&C)QDK!XuUf6&Oe)@lQ=KQ_vNGzzH`O{m07dWtWI)l%~=`lIzI=-=5vqIum+n|#% zY2-R^5o{M9VW_Ie*`+7Uqv?@fy`lc+w>9t%1C*7%l|X1TcpT~1Jo1d)^EB>m^Rra= zi3g~cK|bEl1>Kp^x9rIPJkBQ`KsUoq72%G!UOX4{A9XQN@R2#%Q$9xF^}7D`NAZ}( z$0E4^iu5R?Y=1nE$7Hs&Y0WBYS+&|4S1uFWvzey+zFfs}snj+DZ zXYTzcBXrjT<#Oey8#wrOH(?+naZt$=<4tf~U2Rsvx4wlxVrP|Eyo|ZCtJ(0vRpj6R z3^OACvz$od4m0~gZ6N=d1X>-xnuG)-Zrmq?)8PR>dkYB8!|USJ8_csN?P$SH)BjG1 zXz=zUp)bjQqMuURclw`Wmn(Z1yb3ZZ`gv8d_#wvv39dr~A-zJSlr1a85TOn)vInp= z`XbzkJbuPFTeNbGO&c-Do?p5O-z9(1sw;|Z;39mF95s6F)QpHp|6m*QYfJ5Wr!TOH zg9q4u-1QicQD+t_n~me!=82hQ*jj2I!a$oToZ;dl4GBCEzJ2q)MQ^Yxy?P==82`Fk zfUgKyGjuZRiukFvSe#INE3%%Ci{+uCa~V8GjXW+|M*OOl6LKtal74=>(ObqG)P!;w zEM$^IexZm5sdl`8Mg3WNPJ#c*f-`g%wlSCCTawHV-Gh2r%Fk`sQeK2fZ5Os5Qav$; zpDZB(5kDQRTzR?kPYnfbJcCBt)P+g2>@TY0+gbG;Y1QI5gcosM$s(flU^pv-S;%A( zK|Bjr76`?VNSLJm!3Xdsuu44Yk^YZ*j&iA<^*&AZFAiF8$9vGvg9z=N*i(k+mwyQZX%` zL#`{CtoPJ#hH!MDv)LI0=t=nJ9{eco{I0^7@V1KpG@siDi|Yqiee)VC>4%klO(KyY z5}Xclk2b>TRRG12N4^nI7o12x(lo85R5LHaAeNVOX0Z_dqX6gY3%p}drHPC04*uu= zHr5tDKLXn=IHUF<$2Lnfsp)D28se0P95&k9P6E2+v5ubF|D>cZ%YUN3@AZHAfI(I_ zeuBm-$EoWd@`2J2^-m#+L>$Zu9zlR}{Reog(zi9N(~Gjk4D4_BKKX)WD(m1dROE|s z{AalOFWnHTL(z_wW-IS%v~|rLR$9|vtKkHZDhbUY_IyR%G9rG0>F5q0!@Q!|o5Qbq z2V6P&wT+C7^?YNsG7Bq({w<5kRT3W z*QAXJ0G6MEFd^eAM80!+3Vw|cl7jYvPV$2d&R}J~qh^)iQ@J`c!6Sb}O@Lz=!t20Q zabB1vrUl+P{aO)I7ICRY=ReDDgdb5qoaw;h{jfdo=P43DdU^k&|J3DVIC&o8WWLKo zqMxjxw7MuVB<|pZH0DUAaoQQje;@3B^&9mMI#$p5s{bhOSj*;wh`NSdtnuJi_PXme zW_T983Tb!T=`5+Pv!!_CW7%uhkYWsyO0~KZ84$tzD&7#>Y9> z9>A(xL=xNfX7~e4-ZzSkN4no>+dTevg#MibKW}=sXKK{}aUu4t(2tH$$BVrTtGCkl zPx_Cd0C`CIU;d!puz6k!CBU(&zOO$hcF|N9-(zqA3_vPwLvVRpxh zc(kyj&Wd#tDe&V>><_;p(ArgN#r?=9=hO%jp&G9qQ#lM$iX4Pd0HwShT=ktfrXani;P*Wm zY$bo*e7az2J{>p_?fFd8LB)nZe&U;F4B@>f5btkw~wD*q;x2%c}w_( zHR0b{{=2p;^gkVY?`Q8nMx6gVvp?DEkO4Sn%;`z?Urkdh(Jqg;Y_i3SC;jJr)|>Pn zI+pr}{hRt9-P=w6!Ih2VpZQ@dgz=%VjI=Q78TDgx`WJq*zI|R8V2&ftf3M>2^bhY2 z2b-ayZx{cT><{VVZzr`sva3?9WDo-4D^6fq(!T}!LveEEM1d8%+&N(u5BWaiVbBgL zqlsI{1B@3(#az8nDV`Z7boUe=A`&bJS5L#=u(nd|xBp{Mb(yrlnkBKs%lh5QDm zb!VG@ZBPBfcP(SI({xeXxdO(syED8pRSXnl-oy!3Z~(}!kPw~)aCnV^K#cWyheSuo zx3m$iXW?JDg4@6X{c`M_eqR|3^lLIpLLE;0kpqXcKtKHgaSyP5N0?A7uZ*zj%_!o8 zQ9(SjtMWYue@jz%!3^4^z7hqbgDplonI2cjm=fsk1|is;rT_c7{3rTdvJ3J{xrb2q zV*S^Fmx)LYBJO#X46=fnOnV5J z@E_Dh!Y>6H^uO52a1Z1^?G}uj+eP-CG?Yll_AfWBj{hW4uFt$RnL8 zOVR+y1^)_M>!v|^vHtDJ{x{#Q-y`)8B!-9kpUM6>H+c3pTF3c^k2jvv_}f_j;4@lK zF!)7Ph5Yo6MmM0qgg&NDeu;Qfe9NVfdFW z8f>eUVggL%9O&073fitae@G|&d{v86<2=wPB>7IcXeNZmanUIC5-JKf7f96Ao&Ty9 zryhcT<#Ow=P@&fh00bE3OO{xd+aJVfwF6Yb4^H$@{qU`sL<-cM1>q-B2oBxPM7$H5?{xwT4 zxB2`d*xj9J{3FupC6EC<5Z@jvUYK zB?LGOCJ7{~=tjSQh)6g>{lvq*z}bV_2Y-8e&fZu&*jk(Ls`_?J_1WKQl3LQM`#*G6 zpOybae;9Kv@L}NjCBMs|m+8N?FE7+LTYbN+FYQ6i1)^Od3i<~+Pg_*TC$5W9uZ4%P zScv7Q;FJVy$+!}|9y-&~e@qSFAqQRsVH5s5%Orz6i~lX_*I8?0Gx`a48QNRXvu@X1 z8ra{o73_af;r;I+LLeUcACV3EUsg_)@Pt?&8h@e}H1pq2iT>385QaDgI93#;fM5)5 zC;QX1a4w!azi_6~e+tdI1+I;0QF zf1)3wtPl2o?E2s`CG{H%!Lxh4okfMXG ziY9>Zp#PN^(`5%R^UVWN6$TrU@Vmj-k^D#hbhfryJ3d7v$BOm}Zv$^{;v|^i(BCvr z^bHuNoeGk`kid2V`;R8~$?=a~?lN%yw~?~7-d85q-D;SdU^R50-$R^7i}QzgAMKldy9<99OO5zr~) zVE3w`J)iQH!Ut=-`?cO}=(TpJoROa#u%9)NnE61aOEp#S9q@04vO!ZhM|Bt$KvGm& z?7{!f0;mB@8|=CD^ZQDTYOjjQ3beGQL2s%Qirne|B=&;AycS(RS3ngMJ>E7vQgw~$ zQ~ejI9YwBSo-Prspcn2azIB!hRWTB&H;bc@r~5Nm4wxrqz~->DZXrewpx{FT4cMFG zO=Imx$iWIIQ7Rd-FH&1qiyKs>MUM-JVB1c= z8`$Tk%FK?)IQT(T9EC-!3kGyG^0<7UgXlxDI0oY|ZSK)_S+BzlDI4~K&Anhnf?EKxT&{-H?kbCNP z|I4JQ^`iA5tw<~*8e3Bomd+lRynFet#%O2Kuqg}cv+A|HU66OsH$)P7vI1-q{e{JB ze{aj6nIr~MYA5;Q9VZPzQUVJ^Wcgp8t9&_3{x+DLlE!~6^3hCzF#25FOK)PHMQ%fh z_fV7-30?pvasUxU4UoY73xMD1i{TxR3D?EVc#6+#up$b@B(iHHwi$a0xl#K@uoX%G zv9ePkN1{UL`%)nL#IgrIGqDxK)OI70$LkmF;6KTax213Kg20~Us={J7M<8BGbJu`bUrQ5xMtmF@CUJ*dtQiqw8DFis~RqtX!mPs z78jL>uTK5AT!3M*Fd9O(8nR(5jpZZxQwu~*eQ2Z;g)vHX8$7G6p0z#h)g@Urf=r9@ z%zu&PE?>I}T^bj<(Q}^=YuS80%J?Ou7*JzT!{fL%ECtZm?Rs36*NrXaJYc$GLHy_gm340R4>g(=9T-u7qxwxV=a10+G|urzUmlGeclLSTX; zK!nS*oVyw(&qGlo;|TEa`Ec}QpeOAJfT8jJ0?NX1S51RB`t0$cr>30F>BK3HWsOKC z=jf58daG(zD=3&)Y+c$bPg>!1r+0&_BR}{aJNG;l9fA*__ zed-BcqV50i%Bfv&WGYsF!zgOXV$6HHVJyX*D29AOZ~@6~0Wre)d>Kxm21j9;y+@dp zhZ}ZaC#f>;s2{N{EGxhN(SbzvOb?bmA{js~)bo{#@Yze%MPa~ejHo_tiP&snT^tzu zF=Mx(fOd|X^7lO5#Yyei2g7V}xxILyvrY8`$sp;X2D9*<9ttV17WQba57@DfXeRz( znT+Xiy}}4=@IS~{7~YFw{O@VoL*A~YA>3-n2oP483FVVWzT{$&`eQj8r}@uooP)AV zKw7-vaqd&H5(^&OAF7r9cx@)C?}qV*l|8{d`G#Iw+jQR-IMxfgPIYF#wV!DJ9hdeg zUP-vx0qgLvE1ukrj^{<}C|XH5I2}H)8|J;~-GgI~k!=TV z?k+%pg-kVx2r$qxmG1wL-8pF4rvA-`2P3UW`b>3Xj01rHoE}vj)?HcB$xFEqK^}z& z+K(v-FFN})_TP$g$;`jxTo|Niw8}~rjcuLVX*vAU*;wunDyWBea0puOK*Rwnn3`dw zzDFQ}B?a2jhuS*GY5Jm3>07G?^}KX@3(iyLeX+Id|7SJ&sr3k zaQ!(WxEEf}%k_$q#P|*yCnMF!DN_pIb*3H%Ue9yJBR&bFD2KzS2LE3VTOOf)!mTf! z4Y`T@65I&d#HC~|bjqu|;$F5qh#SMBD%ZILnVIp2aSBY5T(Cb_ZmayWWsCMf!rvRd zgp31&1(q%7Uu7hJKpN(}pvHpseo z^UqZV<3DV^+6L{hjaX8H)c{3&R#@JNHvilRoc$kFeW~*O3Y%N-p$MU(UZn^Fmw^sB z?j8eBA%#l$PyLm3EA1yQC@L8~4eI@5l+jcXmzYyrEb;lpx@43ZO#dn%#mcL&rTvdUn(Tgg31FeiPgtZh1BiSZ4 zZa(+Lp~=0Kmp9cw`qhtx50>H`X$K^7FaS_KL*eh;tQQ9*vGP7Nv>glx*3O(^|PE~;s3CV_*&>-ETa4$!`gl@0#sDsIo8m~PX0qejHWGK6TmDSBnsRS-x9B$ICBwv%Zolm+4{B`Jsr#}c9TTEx zC6euqYW5c07wz&Tfoh`5!4dIU7<<*lj{mu@%a+M;|M36XVhSdN6s`&P{{(hw-;;V- z#pcX23rz@Sq!2Ac7~!$`QIE|ZlPl%Vd&~0J0x#34&CCRBU*W5vkH0bb+QBA(kHqv^ zcf#A2$}CMqx{hZ{`=3WW$Z+%Wf3Z0-E%oH<6Z$pJuIX@}DjYKh;oVZi?}A4owf@x` zaE?LDTFk6$#M{axRDZQlWMOa3=o2+onpEkh7G_>?J0?XOR`lmh{mZo)MbS2-is~$u zUBoF)JvrI|rPhV)1O51k|3wOxf89Dwv_?K|#%xBy2FtkiYy=4xHWxR47Oufn`hnFV zvTS*wRQXRg?M91Nzk~?CM9Ao$OTy(Q(*6aHKku$mN=F#(JFmm?G;?*5pSh@+Un!HR zXKdwsHY>=iu_Nv7DN*DX8!i0rifCx%5)(Gb#lWlp;=(XXj}seQ!6L#*-P=d~axsMT z^96;7Dnb%9Dr0~3C{~5jDmqiRcbb_}$|;lP`frvYhV@$0F2DxhNFqRNLA*xtp5nGW zPGi#)4xp?%txy8El7jr!nMSlzfotop@H^0L9ynM_(kX|=& zY)#yh8Q+LcVg1t#(cRjCYL}S!Gie}=#AsVg`_;k*8_Q}@(#ykXZ{O|@* zbV2sB^s5V2$-@8Z`);4|2cuAUZpOPFQ}`FYh~9GpS?)ev^pm0zHcDS_>98U?J3C*eoDoDwZTSrAQjRFTwAU*gbfKz=aP1EnjuxOgYLAOQ zkdxcEdqn!Gy)KFh&I$D#=aT>qKex>)^ZQP z@LrzV8d`KeUMWhtl%U=dXX;k~S{gIc##PRgW6;CCk|gEp%AN@w@h;y)s|PVjp@@j6 z9sf#N3v{xSAJ~v3#lIYI%mcEzX(C0{%Ur}H_%C@N$m9Q!{D@V_HKjQPE09Osv(_&R zbPpHjrS4m%V;#ngI0oZ)+2$C8NwlLTy5TVly!UL}WLfD*oOxiE#7X49r}57W8GCii4&X%FH^*>>~^T zL{!|N8MWa%@fnf36oGMGi1ZF(cuktY-^EEGphsys?xSN@@xSh~P9+^wZ3O)rFEqIE zP`o!;n{PQM5!E`{0@3->ft%z9O9_1GxOHXCtXdpfwhEH4)eiw;#xd%Bv zSgr$&1)6Gbic>^x<6;>BqG_%2qe`~n_MZT8(Bmc)M;lk&_fgdG8*(XAlG=irfSfGt zRMktLjvUmHcM<##XrCO5G-D(`$C+4ieqg)^WKu~#N3i3>%@gK&N`cs=6rZ2}o3K6M zYL6;!M3WQC!S?#;Fk~7=l7AVm?+xZXKMjhKFHnj}<-xO{DxYk@B})ZI=D?*~}H zh-ePg{TlW!_)`WSg93Yck`0Ui zeqursp#GRHVPG>xuUz$yQGZ{IN+MHU;Qb78*{m)VS7GYGvgFl7twk2aGuLl5MflBdPLi3 z#OtXfCS>l6=&Xf6E&iqt_tEH=hgeaL)Fh#e$-Vou7$7gse8gv`L=X;=f2BcOcg+!o z|KC9KnETyXuotX7$m*2L$)TxnYZ)|CZjk|d1&=Y+Us>G+$5H$XNgU`*XTE=-aK{(2 z+7(p%YI7~jx>SX9Og-Yg8ZrOb-z)mmQ@wBEw8OFzHP?Cl$`WG#j-pi@zMxm<%GjfG z?B%OS3yA}WUwmW!H_+sabhM)cB8nAR|AF`B#H=*d)GV;v|E;94CJ~h@$~l~ct^=9w z8xWbF0|Dwf!^5p-D)+(n^F(U6-Ft;R?0#W~ zC$&?(<|gR%4@p6039zF8%(Kj zVtEvPDh+>P1`-;TKJxIiYO2NAzcWb^Iifp!UBlrM=ZCU;!;nQq@WLRPtJJ5k5@R6- z>rzLpDnhqfNv5W^@#HAyIR0BPK!TVKocgAzkjY!WV<+eDxBC^0wZuOIo_X&#sv*^o zJ+sxm20fO-)1JMARB1=h>wwr`kiJvPFP-C!jW`m)YAirf8-GqZT>IAZ>K0P_vv0+; zBs-6K53_ChS{9afygxWxLZsnj#}AHD=>t0=^;uVN4`GgK$&!)MEuj>9u~p^_1qd7J zrK)mJ76}@zz0TFtbC0n4bGmt8=RYZzV)6=d(}S(gLR%u1{%ST2+->Qe5a-g>P@5K| z`0-6f%+;@&lB$f;3U%G%5sK}Zg)!wLl#EBw&_*hVBYmM2pA6`T?(Dy214;U0CIelg zz{-qmz0I^0?hAUo*YvwqR|_%0?_b-Z!)P$<5w?`x#$N4Ko?!JssRfS65YCp+xT6Tz zpA{Mhyn#j7wV8Qn!8y5jYmHWGC<^h2V@XlY6yYkC3!v9{fj^6`LAzp{eWxdY$8+!= zD&`x=HTs8N$-b^D=^JtkvaPVuF+s8LqOo&9v>pNZ>(PqsU37z zcbM#LGNr%2McU&B>zr8`QqwW)AKavn|1oo^p0e#pWFM^NUhlpGbDP1;(!s-zYZTgGRnaN%7z3Syf_8qn`oZn77`kG>pBYH~e z6kvtEeiaAk;=3p(w}kF+s8ZQOeOs_NU_~bk*W43#hRfi@s?x-)`Gq&Yi2f$ky>Qy? z#$Mv~z^F~9m%*b}DX^&`CliSe+g(>|jV1xjV)m9d7hLBg5PKyKqZyrbK8EuE)q5t$ z@b7G@(Jy}+y=g!hT_uO^R6NH(X~t`_GnSX?G(d-X#LhfUvx~|%2Qbb2A+utB-l#(! zgPZdSFJSvZuk;m^D7=57=vj?fFT*bLHFy`WcmjE3EiCP`JA~)8d1wGl3=aqLWcMk5 zZqp%ApbK!&nB~8-YCRLG>#y^8&BW29@Og4v&Lpnn1n50WzA*i~AW8LDW)%NcTE*M` zppT<+r2KLKPa?Dv&eD7h;<28v2+cCv|d zgEvzbiYVuR$0JBF^*nOKt{MLz(6Sj|Lm0pkZsNvi*Hfkoh{QuSsN?@+`NrJ!GwS0L z6vK901`A)7i&JJ8j+nwS`$*_=@-s zhxE#eN8`*?w-!$SN44k!7A>zHqWQ7+^1Xlq^bF+1n>$>{l+aoYnEdVtJ2>S-#JcT& zwKyBYVT{MAeutJ^oc&AB);|xBscU#sk!B{oo`z^{7ua&~8TK-s{jH&X@r2k}wH6}T zmphcUzM(kK+7tRWfGcxUUozs6=D24-MtfK|4N^h#To3P_j>VyxZZac)mC(ZLf(%#* ze8!F;n8>lpbzKSIyMQo)2Mn@yWr@?_*=DRym?mNCyR5!6C*TF0=T$Gilm`(V@je>e zHHCDCaT5>r^ktiDsUS0#$Y!c`>Fp8rx8mv zrKG`R4Vgv0j$@FWTF=7=Sg(@0W#$}z317`j1P+QWf(5Kb!hbY+TP@d1%4+_oZH%3U zSe!wGE{)7gtPy^8CseH~s14AiBwO`_zJod&d%GQ|IP`8To`R!oV^n4VVNIJzlo7bx ztF}QxOGf5-a>^C)wh@HnqFRnxAj$a1Pj>r(NwPa&C2ZD z1c~oB9qlZ*%2GYweRfffTK}ai-bw!v{?yqT0pXl0iK}bP$l9{%7Z756@Yfthl5c6p zBDqw}CjOavDUIK)>VqJ7Z%}fAKZl3zazINGM)G*iA?4)@M;I5$u$DU@`6DE1L!#JY zap@AiVX*_@Lu}3r5fn0?# z8d30lT0Tp#m(_gZMJOqTUr}r$w*kV;nhV4f=SE3mkqoDBcjO{tf)R21c-6%ab{(ep z21!_aFlxXCOn1P8+&nby_PXGMO8;&x98FRTgnFonDmQ_HYu zCKodF{7~*PLJXzU<1_u=+0eCOpnNC-p8|6EdyIuqH5xrv31-xd1eUqru@PhBu4eL%bVyPbWY)+xmVXZ|a}n9x_W^qm)` zoqVSHpm9$EwB|t{at&<6lc| znGD1m`tulWxeb=TR>L!ir9>Dqsc%|3PpNEZAN+2hqEu)(ZYGq>=T2(i! zueH-Ss=3L<^RA=1Zu#&+CVu>LwJruy_BH3ag`HZ+uSj zjbwdO08(DbP`8qc~XC5ey#s< zcAr=ZT|=haa*!isBuMSg2#DPcH7|2h--Aw9K!%Fkd75NuQod=La*YQ0((E|acO?-a z$%oa3wI*76mAt}zDr!x`w>8z53Q+7XQMV8)1)E;zWB4F300F5GTn$-54jQ#jWhue0 zaSx-sjXx$Otub9@BO;N8I#bH(E8xL6?a!VzB@HdT_&k1e8Qhv0kPnq5jQ3)_0MS45 zMsmsA>b;oK3=b4fHf6v1U~CN1VQZMGav^C(l$`3O`Rc`^{P2G6Nquw}M^9b)SSKe`s-mh`+RtbD3|m zXy26k8Z*3QpM5pRhj$+z&t+%uv9-3TZxD~O<;Z6GbGEuW21vyJPf_qDU2)NE6)NI7 z^*luFv6T!Y^%6}SQrgKKB7r3JU*C0E&wKdi5 zH;A}=7UMq`!D6S@5==E#RiQnH&e55f1xM`1kH*<+0pq`EGcXHYp=N*uL{ zBDDNpzg8R+yh%>-hSr_yZ!EO?wcCdYw772+0`~tr`1R5sm~sSciVvrvz^%XUoHU03 zGZ=bMY!_@^rh02yb0jbuC z0nsi)cIP!oXN|OLj5ZBPJ|VtB5*A9EWQgg$ma3s`?6uXG^`)m7>2RtUj zZM@ipr$w~mq4y4nVB<68<^l@24wpFgTPQ^6-b5%R-KME1KQQVQUGmia%g=ODu8A<{ zNf~eU)eJ-enr~Jp;P|Pa1Nb{TS5rp=n_nx#SXf@v64$|>9K6QqT6KO0-Jpd_vy6aW zTO`ST67xkndEH^$d0Ykedr~_4j{N;|-Y!^dzT|LS&NBu$^?H_){{!d9dE*EU=D5)C zZ0faQ7|yHunKe!_%)+-!@QnN8_0;VwC=QU(hnKz&k$SAGZCbm{^oJ&5BN@P>wStF$GZGEjs%i)rP4 zcU|{$ON10dS|;GWel5#AbJ3=d8e(B||8H`Ojww0z*+re8{nx?abqr_E;N7JWYY2MQ zGnqtplquG`0C&ZCg@w!w505z^ncXzb&^r} zUvo3rm?QrxX|JpBiOnL*Ue%_DrPsS!I`Af)-tGjw_^v5{e8?aXN`RBJ_=+9}&-72j zdpK2(G?1GTQK+2*8JfDSUg$(oBzgC7&TtzA)_*2)KKh=rk13)-c}CZ5NKb=-&(#bl@_4(kAl4?s`xLn}vU80umr5qcj0=o{RJ!>s z-vQgKnqLCNE8UcXX(biM&&##Ie|Dpa8r5Y_^LHSv*I?Zjl_U5RNL)3t(q=X0p}ETS zVW4nEZNAeh;p7U=?Sdun;nYF*OO!-dt!ABGN>z1p!v3o!5cI~Rk7se_EZ9_Ni0O$z zNAAZTHbZKbR048L+~XxuxX5wdi6szF#B0_l?|rSkxMu6RDDnp1li{@7Y+$=CGN~l} zvsTZRXM(b1Ek|g@5Q?UPoyPqF`zF_mqlQn7#2xpGcg8Kvzt!Unmu5w7jEnmfUnJyy zOKs3{n;|NaOZjt`%`OSbo$3qRz7I*{@8o*St%$@^@@j&nc=b=oG@@0)^d+AOVRvL! z;C}g*GL>uNFMUhAg6P1`#@}6U$52~r_TDd1N|WH|WD&_Kz0Rg&gO>c<96=O_xHw3n zJ&%DKk)QkbNIy{)}f#(^v z0gRuhImG~B{9|iVecxnZQ!VTm(bJ{@HAp*Z_XFNY4SFx+(NzDw`Dq2A@-vxJ@Y`r-Uy81SL3=pDQ%to?jLD*D zT#M0Rdpp`>Oc|=k&1Cl<%oIOZ=&;CJHa(kfZaTL7{eb?V91YYea$=#ZB%#(H?nQ~z zp7qLA4vSqVD!?kiii(`JJTsNl_A9U10vFRBUH8|)AdP2Bu{4|*i^YkQ2F%zxY zM>dhT!`tp`gROi+v+q_D+aq~RGn=eoFfCpjAM4fg)Y6gLLN$t2B3oI9Jvvl@UuvFW zvi$K3tu|BCK8Yb#gP_$q_>i$F4y}M)HGTd7#N%G#vf!yI!M5rLrRi7gW+9!>_X|D0 zW=?+pMU!d5q;-Tz`hSDxe!K1BvTR@(4E;U2idkjmKI0|jx56=f%Pi$`^rJK~+Veh4 zw=ELo15Uo1xBCIVlsELpZDAb6@-(jD=}PCT&jkjXYby11_Nk}qXPi&n*LUa>{huXQpPC{n)@np4FAr9}+F_zDmV;jjIfhh3MQIUTXKsnB~Ad=H;E#I#6 zaB$y^wbihRG;K(qOU+r z9DgVJQpwL@z`Wj%^{ogpt#m&g5@zr+hHgCchal;JK zvN_yByUO*}*%ullplEMvd$t3I5_`KHf8gg`%F*Zx;Uzel`;8|yZTZX_n^dge%RL?> z!@nif=UKCvlNn}ExnmfSld&E?QKG*3@?!=*RQ==5lY<4F7rq zx!f|eA@ke4Zep||6x@`+A~^ty?>-r3(OGrOziRzTe?voKDPwwCUUI!pZbBtWZRt1v z%CCREsn{+4q*$$Tl`07Q;q^VAAnHln{Q~8#i_Ish`1Y?&s6$0|6R#*cgMvq8gQm5g z#~eie*bd!oZW8E$wS~Ng`wO&bxCa9=Cu1t`73J)S=0>;g2D|*?VP(vw_NY95;mps! zD^wOZf47gU7IJ%k({nq(5^Bv->o*{T7kQe2^QD1hr~rp8>-$k-xZnAgO1U^V(v%{t zJ1_5PJos;Sk!cGmPtXa#$aVrIC<9Po>6QMaKu^LFP?rq4^z0b1M4XK?Tu-$OTRLKH zs7$*^Q0~rtq8_vI{j@Smu$ZNnHDC6af=|FQj@_H`7Ub#!e){{gZyHFRB4{Ou_+7zZ z6=Sun7lW-%mXCC_(cVZK%9hh?r816*-=cq)gC-NpYxbly6y=s2Vs~~p?P#Vuh)hRh zKs0nScwZ|ZA>~*^WoTp)AE!@rw1hW_OPkoP{OdH_5dH9hM$|gY*J_6L4W2^?rQS3i@ zolBlrrsTO=O1mYKMJ}pnuMK>W-0`aAMtvcO77&+JQ4MOzg58!4EvIED+kRPb*^s?> zDMdr#N|#p*wuNg`n%P6(e`Z93c3&D}GbM#bX`}|JQaNPs>se^Hi!V5H;V8*9-EJj9HM9pIZpf7n$4*0=Jw?;9iuAr`y=Ta`SoVA?&={;8|t#g~@7D4-4hR=r1 zbJSQ)r4Hy^O(gY-?*zuR%zXEWZsC!RR=&EJmralmJjon^Ed8_ z{B_6Fri^PTLDl$h*GjXF_?udh>@Qrp4*8|QuaGCFj@`}NhN%KS=)AyfAC9(iUazi* z7vb^V@zTcW1IHPQfS^i{5gz@}>rAE&bH7{o+{y6ajy*7l&-Hy3{%Gzuzndmn#cvDX zufFHP05~I^NL7pI7Ox1FaZU%hL`mHz;4C#Ktw#B-EaxHKQ=6`15G2$hBdf57qA6Kw zIv|k_-{klE2Prp6$uiQd-*GIbf=eq!;CnhmK@NVN2pQn<$IuEH$E9yRK8<;J7nY&_ zN1H)^v{jVhlVPs1Qz)uq)mBZ-@JfVszAFWtFiDfksh`AZxPRXZTQ5^V6&mlG>X_Ba zX zzkKRi+Sr?Z|Neg5YN$3y_9`Ib7R2L_wKQ|{JSeU_H$3%6stEyhBEM+F^tN*x?H93}S(uRWG0Xv(JS6d8u!TM#Y@$t!o}ZxO!FC&aXBH}IE+p?3K1 zrDRqHlJGUkb1sMh=S;36^QNmA=C|LQ{;GXZE3tpF+LufXgO_o&uPdzS=+_+cgVx2vEJb}3^H(O zacPm;!&R;C4y!hFIp2RCwK1rRj#mPlwE+oIGA~v z-@vlRS{(tC*{2;~I9j8r6{eOXxyC+x)UZV+2H(B4pyN*D_F@O(ZuHxy4R%t^x7wqx z)nF-o_4Sut8@h(R&JUgF%!xno&bLM?AtRx;e?Y56i|dKqD62sWX}2XTh-=rsuVdZa zH)88Zm-Kngn(`=MG_&MOEIf`lcTqJkceTEq^d?8TR2v%m!VD0~JtSd|k4u-m^AH^t zWd1m8it&s(e(m7^>qT!hkXbtxrFs4`KX~?cM2^mGYz!f`(%P*sWd|`n_N;xFuGx#j z`7x*&27!F0%++BvWfZ@(khYVr51I4@3B!)pRPYeXIxz)Ff-GuyLIZQRIJfpRQ=I~t z_a4R8azsi(Y70;I@tWN8U|V`fdTk=H^Un|IwNl zVvFX~P9(ZwX5lKOrLgLs=rr$~5GTtQ?{1NfrLUd~q@k0`Q2*h}4{Zy1f>)ljR2pF& za6Nf8rZ7k?PQoWW-9q#`=!C5^VNd4TCdkTZkjqJyIx3BIS!h|ug_+I32Xnujfh*Kd zGp~U40EI^Z)YVx>&az=dm8fB%v0~bSsw)UMq29GWp8Wjn(?-`^=+*cb0^XlOE}l-# z=~{Z23Fu=;%Bp9f83x@;mChr!ry0ar)lwQ>TED!4f`MmE z=C>l|(Wr?{TRG`?k_-uqF_!@+hwN9xoPvvt?HImRH-jMuT%GOuE($efML8a<6%iXk z{+>_6z`AY1uXznfa-PI&7ryNJO{7#ET@xDXd52Q14tz`m>;2Qav6JHiI#1wf`pW66 z&Q^F#**drS?_&`<=|y??;@U$_frM+jx&K+luN7SDB@+uwxoyKn>q+LXnTL%cTmJb^^3{<3(TLcGxh-L!15*#_D|WlsX1; z?oCcthM@80U<}g{NIXp?3i5HfqGfP=@;vxx^jm&M9qg4-{^OFvV@59j-jV+Ebd(;h-i|Cgigo;WQ-%rylEjmWR}T~0A!_9+n3*+X zKk}5~i~IzkE|VHc2O$;?q?ODH~;5ryiF9F$fu~ak1X8?}dfpN#_vc2C^6Oa4+pOPG7iSaJ@Q00l=649)<*DU{2Yg3Az zp(?HgMneX8s*Ip!Z_dAPI4i6l6Hl7W?wn3+iNXWct3Yo~P>o`w8!4d5orY#oQQUGE!2!k-D~;zu^uJ{8;(`<+ejDr$^-aM6T>Z}`x(@{0Zh$?22eo=QceXuE^n_tt4Ezc`DDzv)qFB!hr%QW2L=BjZ*pHweZ{rJq|T>E**C_J6$yeHq5j*P%wq_QZ{t4~SXklxWq z`8g$~pz<$P(zk!6Y)s$A+Oq;&!oSbC0}50PX2cY6b4uxP&zy>rcP7%pz3GXDSR7?7zTLXAAd3jol~sNBQTf z&Te?aedTRer0nT%94VIFmQ#f zW5x-dwm{t4Ha@*M7B~`_X=(lyzn{*VVok+HlvD2+T@q%-6W?H#Z^Cg!Y9!0Rq}mh9 z{hX`kxsi@S#Y;422^8kIJ8l!{4~~j)XpGQed;!rTy)YJedF9Rg&&q@k2579~K@oy7 z)H>STiY5JT^TJ8$2hF1?xw0_gqDZ*BTbT+hQC>{N^obkH5~}T?+#y?(Fo9O*LA@Pe ziiw-Z$b}bCZ7&C|3jSa|D9RPP87PMs!MQDtP{$Y|-wtH$1!N(us+I_SY=X?2@H4N; zpNyQUQN(;el) zPVPCKPa=|)6eV)mnPJ%lEbU;QL37~u>UgF04NHhal$OAi!q%c~%+x|2^$pxp%zSo=KbJzF!{h&9EW-R=sgto%N{70*3JAtal!56oNfgj8Ur*SuZw1&bgk9 zJrthz{xybY2+&L?hfh3ZTX_+ly>8O_f&`?zuyn1oCf|+56u^qBgN-p1Mx81Q8SRTg5vg5Usn=aa2}%F=*_>4eA9?fbc^tQ;{#)+GxnOA}bI+QN?hPMO{JH7F%1hwXqiWSx~K59nB%;`n%YG zO>0(;_rrh7y92zXm(%7!6ElJC%I)e#;?Nmm^vFGkQYRi*f9t4n%>qo4{Ase5f7+*V z_;?s2*5}CJw(+>LBkDoP{td~@SjR@grFA9LHm2mN14}3Bq~$?~V+qGqYcL^@s(~(!}Esj#Z0* zDZW{A2Pkx#t*(EC0uJg<+of^xZ?_)ex_Z7{WcIyh-wNX~JbP_EAV0*i?(DPH)JM5hs%r@ zZ@xRBN#UfB>mxF_d`hqTK3##uI`D$=iRL-MmugyPQ)*X%h*_IR_46-Y^!netRKuOB zNNZAqBc2cYbK&awK6stbKblBic)iJ^`6aJ_+!I9^x1-G8cOiQ@#Q;#~=oFKdb-9<> zR!YYas*HonwI!133!kZAm-z=cc4s~7P6gYl&`FjVPsV;8*90!3IlPl3E}CtVe~^ut zDH~~j`yPl0ek6SF9MF)g$lg)eHHC zMop%U^Q<6y)^oYfhH{7UwNbKp{0jXLjWM%a3h|Z`B0&rpD2L z(vbYz`V}5E>v;%kNqEhWGnZM=W>8~@F(m{O)yOz-`?34*#Ff%4ryU;>%8B{I#7(#Y z2~?p?#+g9^QC8i`?drIcBRRUUTVctG6eP3a=}20%b=FdUZWxSaRN!hfKrgy+<0e6< zvLR{+vkfV#^sCGtv)t)%3hUTf@PGklnw{Zb!MQZB!^;5Vys{~pw^5wu;kX)|yG)zp zJEdFqOUCiwZGvia+yL2wT}2p+3>9iWA%j+DfI1;lN@8~CrUeQMB@^MKlW?p_XJw5U zibOV@|8|p{S!3oHi!KgIRgQleDt@`U>X)9zxv}YR*f{pP(;p(orwKUp zO)HY34Vv1Ib^hpvk&_3b6F1LTzT$#uX`VYDl3pp92w_joqmmh5jaBkJ9fWD_ZDV@T z+|pao2R4jH8)dD6&7!q`Fn!IV&g)i4ti+YGoKI!s_${WqvC5N16tX73(vLZ0Ta>2Y z#wz*UvPaK+QFoU2WlV=!6H^45rR_|hdt||&op^FLXtPl1U}`3fYD!-g(1rJXbNh)$ zR@Q|r)T!QWQt=|lZQ#As+rfaR(7UGX2K+PEz_W?HMwdCmPW>1Y>|rJO3R(2W>>hS2+pIi1TeNOEQJAZy-VjoUIs=hpj zZ6(eL9!%(<4Z+Z%Si^6C#uaJtTe8`pM1R+{Y8%{HW^)zDNs!Y)O9$G2`E};u#?Xy5 zegi1uPQzr!SW{%_hec5Br_#XtA5;i{Zd8*1m~E#XQiNCegk~W18g~Ykt&B?I^i>Uu zC!uf+^B*GAt>Mas?f(2~C{gb@?u~)H3Z?v3B@VO6B6h!eV!~zBGde3$G|9R?B&$Yx zSPIo!Qg3;pSHe23=LgQua&n8M-p=;ev#HwnJZh>nmTQ~DQ;rd4UW}`}#SQKxhTso! zRrke#=SfCi*UhwIpR&wI+SpiCw3W~f>+d5~tT)#Ctl%GQV?%|0{&~N?OiyBb8xwb~ zZJ_hSl8=OmHYe^bs|1}?APDIf7pNdK7LQ|9dtyp#o45j<_tRb$eX|e@?j~Wl3}lXS z#30%tRJYn(R2GM`1P#?*4W(E1$8Hd;pT~rc3U)%Z`RTjI7GApJEnUY-vskpVKv&s} zn5PakYDKO024H>{B~QyHPg?z(9FmrI(hfNAM&buY8kQsGo<+XcALuP?kqaE-sH=TR z6AiAVu|nT$U*P{g3t+ki$`ay;`fY0(5A~rP-8#HTY@5RLq#K;1Lgdg4N-U8HWY@_1W_JeBS#Br=i>qW7w-l@Lc=yY+}Qg) zV^|N$o6STbEjF&Gk`;fXnd@t4?b=*4%8rFm1}yB?7KDdgl%;aPNr?z~xxH*Ee9M#7DqXJgn-owawUNDSX zZSpiAY@Fu<#K&@!yAGc|xC-=X?6HKLFGbxIX$YgL(wl3O{xE+!4*fp8t@xOlF$z%u ze#7}iX^XW#{U98E)0S&^7cdBpO2?xRmRBswy}m|Cc?8I3VxCZ;-I}}4eVi)~a$frm z&-Bw}aX4h+xoC?srwM%K5E|vmcow7@hcg#TBZ#h9in(>l9kTWIaa59M=l>(>E!g5} znyzi!-6c2#4VvKY4#5fT9w2y-!QGwU7Th)1;2xZy!QI_w=9^si^B&(X*u8squd3?Z zwNBZ`q7g3U;oC|0kEnR#KblI)&TnZf5Z~r5IeMACQ{+VP#@+!&+$P9aEmQFsVAw~| z`y)RKCjr(!?ONSqVzSnsoztm5KTW}ib%uJqH0l}Dv3XaneqeQaSl)HqPqr!EC>Rit z_6~}sMdQYE-CsK79OV ztp^Q*ZmWhecmlg?)7n&#tGU%6#pq~VV=b#1#KACrTOpyp0As(-twAw7=@)@(yiEQv z7;0vYI;AAI{RDM)1i^;treZ?!Q)Mn}aa%ycPBRz`xh{L38+Z+^G|x z+*0Ft8Q$^FvVsN5cPVe1v0#~{NM1*|7dcR<=kdEw31kye_R;twg5LS46ejFuC(?%s zxyC1a_hP1Iai%9u=N$MEH&QaYrgOT0$4o&o29mVrHJ_&QaCFt?TX2k0e&pEgYLMNA zik={!ooyOua|g48zAIu^q$pA5vlU1a2_Gk^bPn+w1#GLP?=4M zz;@{BqCT~*T+)lYISN6GJ-hAZo63Bcxoq{9#U#|RjsxnZ06x5HGru#1Hj1tuyim%y zPCX?(Jl%N6Pb`E#e&@QV#)9`5wvPQ2QjJToqne%&;!T-Gi$MLCPS4m2X+w9nwrbry z$xkaiqwsuunTWsg7hOgu4!bU4H%!;teieSaSYXB5Gs#>sKvod~J!k~a`3_d0TBR4i zDPWECXv&)D^R8lUvx|4?Sl+t~elhsc&_#LK1b;zzmxfF)`$M&w1g%Yo)mQpgyM}RdwNI*ocJrA}IAS{ilNt66WlVUsvWHa72 zl?w}-i4yGFpJJg%k5MEp(}U>Muf1cFQEuf#d}~8CF|+}E>AHS#7_s=d%zDt1Pqg@!jR5B1XGzy13FWl)EH)uO|_t)OY>&F%1g> zMp|yOQT;;g$SOnQNi?3@2>}UXj0^tmW6&ct*ORs4cq zbY)Ou424|JVB)tgT%&K-CL1x@iW@(8?D%+n&l2ayvkbpwHe@V0_rDMDmdk>dN+cZ+ zO7g^bkd1^F8n=&c<)i_o0*H~a$m=UebVF!G1h<+2GRroFIPjR{oSkbTEil3xOV2&3a=<^i>7#j)Khx2l+$d=(ilEby8)JAQ^rZsqmR4>lqxW*Ku zXD|;5vpGp~k0Y!b0jtlJ1H$T$+Q9cKo;PP>w&I;}=UY_iwF7tpY=y%peA$m|f?m|6 zRx{IebxkSPweN*~uH$x~k;mrznzl6k=2x=)fc*E}fd%p%sWORRgfUt(2G-Qujj1~8;>;(ziauq;427i>n!T|UYFgM1b4>gLOh37k)V zM&JAJ<(3pI`nd!O(Pirdax-+}KouF%tEVj*p6X_TTwQ(*hNJcyk#l5Y<5Gsfnj?f; zBfEH#IkQr>EFRAtDslbzI!a3@&?&l^#Bj)Y!+3Y5m0(qgycGepkuy`4u{6z++Aker zqW9c668TaUzEqlo;2vkPV{}Xk!(V(Xbt#b8t%g8a?KR?KZ1g_hKFV!>ISJy}ImqcXv$b?C?kz&(K(iY-fM7s3(S<0Qmc}T2l)(WD6s$*58z)cOvBrJ2b8# z+s(zVQQ7O4sQuj$J7so$l5>!aqy!DX=e0kZ!y{SnnX4fL_*mfx{*6%X9j;QI-jgSt z3GD#C+{wISc3UXioVDinA0?`5Wm{3VA$CiVO%!kH4ao5abu+FAH9Qkl=O5kj6afb| zP*bk$M_^NuI99EfH{9w&{Wt}WnzQyMrVGlEv0d}2&e75}E_o`+HXTNk1?L*2{8k!} zmw)`u6gVh*nhBu{Z4|ZGM2(akh{HHX|6*Zwd1=&)*T}KJ`iX9Kg-DaXVjk0+^la(6 zjG^j$wJAREFQV5dPRD^KndhZ(a{!&X#LFI)eo>q|7&XFW5il*})-~`z%oFDO1GLy^ z!;Jjv022|HLA-B^qZ0coH4MRb&SZi@VyM3jy6RH_hGM0(B1#RMaGAiINN07S2}d zWRXVqpcdk9%sKNma?g1g0EEL!zcX(Cl$w>sNm=c~|nMXmiPfUBm zEZ8Pi`FRkj&WF^^m2nl0o!l_e)~~nRj+P!ZvMG@V`z_PvZNDMCkBd469{ZeKCc5S( zzd*EF-}k6Kb@y1M7zOMtogIt-9n`9gs0H`z{7>;-H~!|gVpBpGvVltsoS`*4&_=z- zwVjtTC-;4NYwlD=D<%CwI^nJUftW1LRI%OGD0M+;0l0L`%e3;#QxnTC`w4zRb?q1L zL27puW{G?V65YpbH*yw>#tHi)bCA)|`1^e2#@exm^0{aHb8hlWgM9y$TG0#YP8=bM zx^+XF2vsr*fPT~L$;@$eUo5@d+sO0C>fu-a(H_6sZs)4&GRiN88uH=?JpT%W1pb+0ac%HFcMd|kkR z4M#ChmDe(&H*q!5L?t6;)m-&u(V{^$+tya?8W1#NcVeqXVH`61jP<(qdPT{ZlWCJ) zH-aJlC*TVF{P4)Pi7dOG=>ngv-Gceho2>mHa<((JfAUuA$`C-+b*(e`u?>1A`5uzY z$RVuf(owJ-6=8X{{S~m1^&xb3&2n?_Vsf*;jg!h)2i+!-Q{=|x`6wZZAWXBJ!QL}H z`>JQ-1C{8aj$?IGg?B{4WsTA68gc_c2aC1Lw^;0WG}H=+G|_mz6>%g^%PD%Gk;(VS zo2-)}%Rr@v49S8)m-<*euyY86VO>0b5AtwCm9gCFv_gxjbZW<8q5^^4M@BP#AA&e7 z*yj)=(&dfmX)XridFWnEt#9?3Kpv&dg7~l-k=JLQ8QWcNmSW_xrR>*@a2dV<%JhG; z0k%1Jd-WK7v_YEju!wR*HZES14y|?yEaHfXQKd2YK2?@r$P?=$?s5mb$C+~t+vd?* z^@UxnGBNUG(P8-7l2sgG`W`?3cZpMcGcDOHqc*Ld$V&+V^&BG`$eAzRFOVu$g$nS< z*a^#;tU64+LtFi};=Jy1W;0_C^tnS^ky6WVXvsD>6MFi34eZ{PZ??ev&iEsD(aPH@ zto%6agL z=0|u@N+HlD=3Ol-bTA|?uHmYup?Em)!)nUuh0premo0ry^l>lL z^cb~)*lT;gi6;?=2l>-rqt8K%tVVe9bEvqaen%`b-Fids6WzNxen{627J`X31g6$f zd0&MnDl(RPb>vK~FBZKHHiIj|G9|%swGM680!K1ZqgoX&P6I^+3m(=2g$rqtW?62U z?nD1GXlhREzWY%Sck8}d1_N0sf{ienWSvAGBWOw+lJ!-S*ZY`~GawWAEH=a%EhpUa`w z<+(p{4Q__8yv1DEhOUVp>;e$tgbWcK9Y3{N{#>-=qD^>Y_`_@A7WC8Rd0VNL1GFXP6!@b~$;4{Qw39F%nHDcvP zMo+RxV_;t;9VocqqZc_c7Oc+yCJ-92)usr+18vkm;6H zg57+eFo-<=2%r%hhMeqDw|!lZF+N*m20lEW#X` zvRMn(@q?*_AVO_=h-9{cjMCM~SkhgpS=KoA^+_Ys?1Ez(5eyEeGeLUBm{#nj91tkh_Y9|B!0u5nQKSIjR-XjAg3*(Xa8{A|MA5=xGJ!-Z@fkL?+4wI zY1#r?!9=y5rlDMk5z~-9dp{vJQY4D>r9TG5WO>}7f3K68&Z12=;N_4vDTbB%HTcz7 zxnzK)xR=8;*f~M@k<-p+ajLf=-d?SQ;cnvv8osVdRn{m^&!thzIaY=;T%NUG+dh3T zYOTepi!az+jk^?99VtsU*4vDQ)d1*DU!89rFETvL4a@rRWUAtnqGvS<_jV$iVq?r~ zSB-v3)9>^0v^j6Ea=11cS2SoW#e7wA@r2uiALfgWD8SU~A^bKJi)d3PXHi4~3NVOR ziF+0GPoe-N@GXm`jBE>~rLEf9AbKVbFFiF2MmPJO)uq_P^JmZ1d$ugr^$SHxV0XPe zw>!O--7G15VO|mXX$fISccSk%S2{OQC$3OP03(91Ux-@D#7<1^_bPOF9lf^(9i-TN zJfEMw+6naJ3X$?8>^6+e&#iuFEvkSw!H|eU5J%O4D3eZ34{ERE0`$LXhp=2RH>p)o>bJ?gO>TNSF7uIkW?0*yA}M5_l2?;dne$QuWY*Uca*|Nk zS(F-4OjoID%L~IyV@I})UFw;=`MzH!5iVETR}rS0rIUMFJ6gf&$arj5F)R;aKcwfk zk)xUfz^#^+l9U*A{X%WUp)&1X(z1>x3ss??%}cvAm{?vQYW1gG?W*ClovvAn{@us@ zCs_ESxs?^s^Jv*L+p`-VlB`fOw}YgL!0PfhzrO`ze+JYx19_Q378PtLIZ^ZT``fk~ zQpC;=^!(_ae|cm(9a~R65WC33%?&?BKFY3%R(8x?7`Ky!tb{%J87I})Z7Fj&x{>lW zuuZShyZ^{2?9y4V$e_A&>bPdvBWPxx;Qgf6)}tB%H{u}nX36u&Ug`7`>#34{iFBv< zkLfbJlk~v2_MiIi&#gDa7NBMDRQr{^`vDEFVtoHTW)}+!gRL7;AGR;TI*(yF)!G&$xMX zVW04%)UM#3o8MpLdh`!s`|}gNX=1)p)%QT6h_v&LtPy?*T(V{#{2l+kw8;Hhv>&Of zJh6nef?92#Lh8J!?5%F@TpoO0j-U&&?n%??=uajxiC=`ba1Wqvk)i8XPFe7M$E8fgbitNaBvh61WpjeX?g?x zh%I6@zHiV7-%0%;6;CtXrVGIbZM2AW(?Gb+-fs4(SoDm$zlB+3rs8^H&i5K#43@Ue zs&bJHhO`d_pA$_a2eG;B2X$&rL8prkTLUHpiJ z`7%TIGojw$s%ByoP(sBD-ep}nbra2L*iIJk7eosAnFPUOQ|P?C;W@Y9`)e~@v%a$r z(^<)27dl-weKY?$<_O5?StGEF+sDr40BMqqlWdzuF^X;>Zxp@RsFerBV#_?W%I!f` zK9QeQnuzReW)3GiLEvBvdUOlb@QQ+zIQ^XBJUk(vj^4oYaXN-U`o8K#qq`(mQ?=$RU0mpJqa{;u&^%a2?T7XLKtzhe+o->K z?D-jo&E?+o{))*G`7#y5zBkZrUaM{2| zZy^g{MG%rg@ca4XkE-ZI?5){(Mqf9-FL6E8Am1}G+W(ft9eDy=H)OYq_b zI5LU?A1*8$-y@-#jiPK{7lJGV=Ig>r*TZ|nTv|Kk*+DDaeyWp56|ZrjX)ur-vPCm8@A<}8YaA~zrmc#0_ki#k zVl_?hZjc=9^ZSr6SYGCN??K-n8HWjR9X1Gd0R}xmKzr#~>CB)!za57Joow(0oWE7h zlM9X*3wCbFO)ZPX$m8=TNW`PJuAQ{(3Y@-`!Y8)(w_Tj?KB2<2!&6QR<%_h1;$c{Y z$o~bR`Ckx?SlQv`R=92J_KJ_H|wpgQzK8saJolW?4goW-nucABt; z*m{AAfcI-R)~p{;2vkZhXmd0_!Nwx*Y9 zNN=m2=w%9i3gan@Wa-Y>48Ls^tfeR|t##G{e}90BbU9SG*ij-I?7O_V!N+QLOX^X- z4Gp=x{zk-|4;Z(VyZfan@QItUWLi#eT+q-C7e}bH-YatJnZ{4-k%Gh3dhQ&cjMw0* zYk8nK{jn#NLM|B|LNB9yJt`0y>5T}gM=#TSXu5*?bIx(odowL$90OrYcdGX?2Cx<+ z<#7|q`3;K9xIBIjc-5bFk0mYddbk2&`ZqSfgXo$|q`Dk4Zk`fe+UTB@e#<8vn{QlA z(kUtn6yY#G3BQc%VkN6ls&Sqqa_)dXJc_|V=y#EMh8W)@dGSH?kiSKM1!tzerz<9v zj&1K$mzJH*^0kP0vPe+;AMg3r04Co$az)+ntmC?!o<`%^RwnfHZ@X84%b3_7v_8=j zy`K;27@n(@K73}B?{wFs;GO?YDl~n2n^BHa2wM3J$^aGr-sadU`~d3AzIZ%{_LTT+ zJR;wO{=8#qO_R=XIFHRl5b7$tvbR*qK^{l{_2Xa!3)hAGtiS-~Gj+8M{B-Q(GO;rx zWwNmOuRe-vE#$npPETZj+k6c#A?J-EX-#ZQA`UqzMk`)a2%H4QI;$Jc5BbRjaGn8w z-2{7+{-a+muSlIa_ZjOwRQFTINLXm43m0-~O{LQAl;eN@$$7;_D&PBAS+S)5e&=C_ zHbCt(HFR@Uv$ht)IT>7W`3$dFsbMNE{Y+0dd1D|!&g;!=-)8QPSAoMV-ob(jmq^Vd zsDIdw>}scu+O{WgLi{9GA{Aj0(u5 zH?v|d6|S>p?N`@QgAN^ENqcN-15v%R4v<>(8F&!;1JqqM;T%yr*EYu=H1}Kbq{3a5dBB*Jl67c3oj2oq{1W2Q60IZ8(4&S{|%jJf7N)^1zMLb z)(!tOm?XIW(gSnxk_f(Z1WkNfkf7V!LnYf$${nL>-@#VaNGg$S7Ddq<7-a1wp@8Y{ zrq1d`9JGD+1KUoLJQ^0y0&h^Cx5@ zF~1nK`DnhAKOKu70E>eVyNw{+HC@I5&ccc4^#+n3^Kj^d$Jc!mpXmy6s%10mOkjV$P^EuDMY21_ zEdUd4;X5PBFtq-HmD-cpC%e-0p`}R)+d;${DGf$aogJ~6Z+yZ{EN~7Ny^V-1h%=Ri zH{R&MeW8z*?(F~fIrnFB>&HpEOo;b^LdPQ-MGG5PFAEH8KNg@j!6Zs?S(Mh@DvVLq zxcu1}_JVlA`l(p?sje9*WHa59btPGXV4#lOZ1l`%7~j6xDHW~Ty8A-tT7bT(kiN8V z4cNSvkAG~iwBw8iz&rsX55)eQ?uHGe(8H7w-?p4?Lbl!t6Ad;oCuaapX2Vcq`SpGR zpPJZ$N4?Y+AxFTV3#0*3X9eLV?YcZeWD0-PdX0cnheUd2`0S-w;q6T$18w->uGg2& z)xs4g-ZW=|guV^qa198-dM9rBqDgWR%@9OR(NGeTu96__m+XlvJ*AGDd8P$08Y?Dr zrX+ottm0sx{uF*cgIxl`yD5=Ge>>dUVi;p{c6*|mN;SX=|43U0L#%+Ubmv74s2K`y z7|#!*8#|n!GV4@=mc3BLtO2}*VkJ<%P9PryZ&VlA-nbN8TqpkO_n*p?p~iMoS0gu1 z#PbrT#o(F=c~>|^xy=b}+kw;`=Wm3ha9=NoyCFS|V zPq#C2ye++UwnydQX8?T<+)-1GfLzaQEq21{l4X9(7vM^O7N0%pqTFh5;5)TW3215@ z#0Y5(7ql}tbNu!28Eg4nNE-73Gjpj}BL!n11ZMYP+6D=w$j-vha?^I=sG1fwrC#mB zZM8R&w_y<#g{%TOBcWLz5t(J zmZGL(&J{s!6Y~Nse8QSw8!pJLVASX z9T0D*ZxcR>ew;!rffLTVXqNQ~gI|QmL5f4_$`dSx8YF?6JctL%O#(P*qL!d#eaF34 zy}3+ySz3F^KhpHo`{c8q<&pFWuk5cW;JXx9g`6*P%@7d}k{WdRg_=ekVS~>CA%K7X zjLJ#m%w#H@Yn-*Xx-)c?^NYN&cj~TLj${yrj;XLODg6tcTH@zqpcW(3$mywxuN2)~ zq{~xTPvz|S8d%PG0r2M&TG}GtES2{IWN{p5#p;Ro)1LlSin-+B@`F8Ojr`h&K2j5! z`=Ow=LDs0;kIaO(25ncc$SJsFL;5*InBu*@A9T`1-+H6U%wS+vz?KVL`k+-v5@2mJ z;}JZ?6T8xE{hk9HuSALWt?$r&rzw`i>|$e)J~%>8tY;H0o7S5jke+WvZ;nd& z^^=rJpJuV=ibbWanTey`%P;Ih>EAiTtYW!zQB97n*?Yj(`#O(#B8Q4iGV~aR;&13* zF2nlaG(noKG zhlFAC!!<~}4%9~`9GgcfxpBld5mM%#RPwH&?;9^^s?gpmb)M`HVU&0t^^;7kB>_&q zNVv@gzGgsVC(0M&*l}h-=~L<=Qq5!7vZbQUId%I4kZbzllD3{4a(eF2Sac=|K`P^n z`t~)#7o&m?)-F2U)Whm;gwGL0<`ulYzHEJ< zHR$}-{;9Z&X`+USgUn_u{-&tBzkz3;YToBt$@=e?j3eJdhG$KzPC1CY&1oaUpXem; zSHCYKagRM z=mll6+7rDW^2Id$6u_x)e^^W(PyY~?m&$od??@U)GAeX~AWB!j|mN=9eU$&#qakd8f6 z{Uj@ED*Apn@QLd^IS-W~t$e-#zld3?L4#5Q?nc~8XVL{6ib}UY*rEagf3RAVRx4V;o`1FsVOfX%8JGty ztXc39EDV|o9gWp%_#ITq2QOk4X$?^!q-UAWY7nziMz)Q>;Y{YG&)EW<)Ku6(U7@abKRtl*lOGYnJQUx203z zdLK^@%S4-}Ly3gHXG;R=}yQLqYJwwE%L)rwdL@)U*gsEIkLM(*$v+x|Ze_mL}0%}=z?NrB? zFNIQ}XbSETnp6*BqoZHzAgQ=u=2dC2F|jhhOw^wb*@Xm%I$A-C9^UE6U9uoL^+rgw zTBS;&EY6o|L;Eem5u`7#a=*9Gn&O8Kx_U4Xnvj?CgS*+g!Wn7?Vm2<_Jl+pC?4HDw z^zmI(F!_uZTJQSY@HMFgRvN8{9a$MIJ7Y#dI4@9VAU9 zd2+(iT$9b}bQ|8sjy+BVkcgs(`1y>G82iW{zO;j7jFKtug29Y03)HrRr*|;PfX_0e zX$B^u_}cA^?6sB@gIJ$)VpY|eD4s;i2*kwO@|ZxHuQ2a1M=$jO`yaoEM3z4^~oG^5t2_#{x<~1 zFLEtJ75^--yO4MZ-mYCBEYBvXArrLE`H50DznN3i)BTublITOYZ{5qNK2Gxo*m4Lkux2X zSinj-Vtkg;HAI<7C~)*sg-*qPV?av5S;J~!uK+2W*WJxSO*Jexqxus45* z^0J^(B}1m|p`*|U51NNeG~ySI7huV#!^AO7sM7wZi5$3^#EJ~YImyK>#Zv1+?h-8u z)AOT@N_dM$5*kqaZA0O%TjDBAH)pm#NdJE zf60U85_tdfA-^h4fyA*upI8Ce_aE0i1?)h92w(O*>dmLqw}ls)3l1wOw4MtnNsZJ6 z%`Rfm6F*BLwZI$J7E5BBO;*yK<&wZvrYLoVD&H}SD6*i;j$qu4Y9<5b#OkzWux+DG zR4M`gjP)mo=qW2eP^>!TmD0I02~!D_3X$|y2PIT+7VwUaD1-Shtxfm%qyEI#73JyB^KM}$|ffgkH7C#3$c3Vs#q8aqp z12O@WyYtVAp067AZ}|d*q#RV|$cJH83mFl7ed$#8om2zQQ_OGuof#Hh`U-!w z)UZ1O4w3+kcYj|~1ao{IOLh@7-cVH*pk@BQm0l`hno@|Xg?0Lrw3<#ke{Y$a-#Ho@{E^igf1hK zxU7%d$N4AeEcmD7tOTslEa(jXZKJOOZubl%8kLHTKmtj7fFaymA~d2!R>sr+Lr48v z!fkD-g)7P+D5@MX+PI~Uy38Kv^$`mtYBf-fQWSm2)T@K^=U*QI%@J>;dh+v*y*Rc3 zf?XV8eCmwg_^2X&o*d}wGJ=%u6W-IUQ1O+2%nX1MNeto^!1X*6&;z5Huzx5abPt;6 zd>qMt%ZctDIKw#?rsd3|hvdO+#n^TUMF}OIg??{?qJ%EC!sPg*ZV1>zx5sg%aB=9# zsfBqWbM*~(d8ks;lW2J2|C-51wEsJz`IjQhV*R7#INJl%@im~m2CyJBa598O0s6cS zaYp=?t#l|AYjzV#6Z+KuO4P0{vF>?fj6{DFJ5U0aI|10OG<9_3_?LF{cC^#27IRWc z?ib1anlWs7Qcf$b9db$F`WirpT~xIHzWmXC)A|(a4ZsGP+CUm7BXV;zfdKknY9FA%XHoTRLN>=Whn_m z!(`+pix}liRh%ggMh(w%Pp}bNPGiUXC9& zb*btY_@Ir}(dkW~Maw5!UJD<%-|gH3qbTX#_+kzfyB(ZjtC-fA4ixkBd^p;wPaAf z8}sp9+#c00O_rZ`oI7Uf?M&SRGJ0yz`trUYYVpTC6!nMKLcerHO%IjKl%;Mhh-9w9 z!$=LZvgRam^nFq~$7aAG-&g=6)dZd^gOMvE;?>nk-b3xx{T0Bv|Hx?P=SVdnSj);^ zkiX18ZP%xw1=s~Vp=Z=%?L11JySSH#Kc~1ZNHY5tA@EG_sQcG<^DC<;blW>^foc5o z|FpZ5QH%LVZBA@~Sb4?oohz810ni{pFHG*xrJ5DM{n?ZrZ_d)n_|D&}2yrGUot`d1S~9`+70 z|D`Q$30+A@%wOyW%WJm9>v8E%MM;=jpBqYy7kI*W7`ES5B%;v0G-Si?dI<_%bB{Vx znVRSU_Gu206Lcr&i|CIE5DgIeV%YbcwuP9d84ClFVuC4Z@c#V)|qOgfpIL zU$iO0N_S{sGFaVs^&*HX@=@WL04}?Ia)jxs!ZHhdPZz2!1`uVTYq|4HG05w01d0+gmEk)8N&fBY9_E~x$!gKlF8eoTC~)VRL>X3L6@ahFY*wo0^M zL;HNO*PmtP-6m@{SQ)QSF8frU9V1J~aaUjzrllp7ww&+q6g|aE{leiiT??@-Ryc|Bz-LHNNj}rV=bX)W zm;7d=S&mmr;{7jUry{TaU(O88l~$y$GTyLJC3{j4f=9akPwu_WoCl+E^H-jG0Vja= zY!R4O6a5yN4WK$zDob)1W@8}XFX4-b|g7@;l0mS6LNy6 z_bVQZ-Z;q>U7oA@{fLjF;=8^R)fngFS zom28f{Z&l;RBWPeLQ-3=bP!MR!OOHwY{-_FWrp37m32G9x`b{4-Cn5?QaE*%41w^r z0XW+ze&7Gm(6xy>{ZqJ}3`)B|qL^wC^ELARm=@w+__i`}t^!hm1{tqTa3S}f`duN*Ol6Jtv1gqixeukJH=5<^ zY;>WBuT&28{U~Gs0TB`E)7oph%*ME^cL)QRD&|F(Jgguiu*^Q;pOuYx(unuAFg3yx zx_`u004Q`V0B*Pn5cZFmr8g>_bE+YgU%n=hGB^NdIS9`HtQ6xuW?Cd-^f(F+zR=eWtN29iE?*f5?iz$> z3?5n6K%0RP;tNogO~gEp8HFBxc()ATW-=}PgT3y?_mbFHTDP6|Bfjb+2l}p=(~+*` z_}2}+kt#Qmp|TcI4dKnf=x>@x&o{c1aE2y7#XL4kb+lG#NQb^Lm`rwzx8Qz?zhJ^+I`Zi9~HIeRh#ciUe|5MUUrz)dQt?&{wo#g>!8n%$w2Da-|1E&lF-u?~?AqZ|6{*j+ z`p24}ga>Su4>J7+#F9x5TNt|}!s({;q~SkdKMi@&hvQg@XZ=A`oK7SO4RP&C3StPI zpTX+UP?Yg@k37YEk&-k0NPktC!)h?;J<73<+wVs}?%GVWM{}hHbC?sTJQ3m&!1xQ- zBrz99QHLw9Ug8@lG@!L)07-kBf@549jusnK_r~xwJr0fai2X7|wLVmDfn`!e9fA)r zZiTOS;~A2f@p4xm{XXLhyv0FmGM+cS?qh|iYU`Jj6fT&6f^cvU?CJH@FvR(b2`-6( z+uv}#j0)XykEB@G2W@o;BOhxF&jov1HV&OQ;r-dj5cwfLV0~5e@XIKCQQt z-GMIoXTb3UE2fEF?gMPV-1Y)kioKBNQ3^CoVAX9{ddIY62`OFagSmTssKelSd8(}; z|A=Wg&wXo3@v|o81CA3#0DLdF4?RhmIxvScg>GQqn?SOyRVl*ziezX{^46Uoo6k95 zUms116fS}sfw-C9#k$|i3{n0$Q$I(F>_qg@Sg{utfOw*RPU*x~+{s_Z>Jo7%g4G5Hn06E2g>42j zXZK;@3EDs+4IemWH|O`Jf4eF=$eKR1$)n9KtwAZ-danAN$nhYz`Q1M(X#lln;-abX zDJiBgaFgPh{<(>neimVRde~3CV==|dx}2gAIg>E4UwpGQW+QcSsDAX3zgsF%XmO}A zTE^~OgSZVL&D_#~fZsUkS*d>pir^Qr?}lQkX&Mz;*SR~$nGUkN>JTm_1t7^VI~1W9 zwC|w34b$utSEpU}p<40OOx#K0?{wuCAV(ol(Gn^Gs_>fMiPi{Yw_57b#n4nc1k~@v zuEnm#^IMgK7U!+EjTu+?$rwoAFN+P8gTGopaMZF%%|k$p$$>~*UvHtFEK-5|b7+I! z3U@SzB3j_RDjcQLd;LaBh<2&QtDOI(FPN%^XySbfL|t>`&=Rteex7x1G8~Pp-EhAM zd=x@z1^WuPd1hdyt&@?#ld)F9h87zn?COgl;lZRJBH))#LHSR@v?Q{1$hmvLS746( zPjrE+vTo&;-O^%r#{028WvS2p3=j!}L7^3w=k}08RSNz4<_@?yDqLB1hL7**zuug0 zgMNs5kES=vsdiP5@j+e`{+9xD8$ghY-j4TNQo6U!N5S@<8N7-E0nML3E`!gsvyytW zexZA;Q!o@Hf^;PZd4e{;Lm$pzIQT=-krYCpKWiQxp__wyr9L|Fi@4Eg@i|1i8p4*) zvjbpwek^^!MiN>9jGAIQL1rFDEt?ugD!|1m!F0i4;0;1e4q}hbUt_G@yZ>s)VaJj5 zdW74fq-uvfV%$q{p?#`h9&vke;U>;*f|s`_i!Z?QmWyHv4Khv#UpHqTRhh{e%Wuk6 z=0e_j4B{c9@3~1EqxbeA;!vB;-X^G|3fcdk7eK-Mzu=Y0r?>~;2-r+m zi$XgU^CVQ6^jo=Lzhc5b721I9ZU0ln1-xN7#Jh#Ko_e$=k?z|qHCt4V<@kftPEgJr zv^i5PP90v(_{IB`V~j4JCBhO~$4ZcOLXX&PBC21L!DHc%&acHCIjdByOzU5Y%Rp8p zAty-ww^AZ;J*5Cgp3JeomVjm9&yvCwxTXiChm+45hlI~3{heQVDzVzQN_ncQx+knLMfzmZROMm^m{s*ieEVsAEkt= z_lQC!{Y62IJJr9}Y^treh1Bx9R7iBp=H)Pvoa@I-Gv0_vEGOQ|xqRH-ygYW%k&NoE zCpiR&D(s_mYi+$OR^7&k?=S@N3eY&_%vREMEfbGz& zo$0CA#|=d4!{8qbx#o2H00Q2j11$85BLs!mzoba1BeRHDk-r^6+vNy(Zf_xGiZRoI z-l&qM?N5&+*s_cS2w{hdN1cv|*js`=s}X1G@SQN541o_ zzvxkrd$*l4^Gdt;fPaReLKa?w|45(L2uHFi|Ly6E-5&k}>$x)TtL5)J4qW|D{JYMw zy7q?s=?(eI4s%EtOsif8o7KaAuJ*bS!zMX_ypT`92}BhFWnTl^@}zy zm^#srgmH?S25wKkySu|aeAwQ0)v>dztF6U8dDQ-P#>{a@s~!^)_R!DSpBw>1E4y!= zK3g{)Z-oDR`h=f0e2`r=?*JQFUGA(aFL{{*>R02R4&CKP>}{Vu;Q)1d3p-ov*B?3! z-^pzW2$&MTo#dZR=s&;X2z$?Ad!f_Gk^^rVu~ptK?2P@T zkACXRvG%!>=Bm?QTAZ=pe)KFW%3xqra&&(+%J_}*ujW{%zS95d?fRDu&6YR*^oc?v zNhwjusI;sY>hR@8aODn#cosu&Avk!XlIAt4Xn^Ij=9yI;n202hlFtNZJg@%DNMd-q z=_>~!smy>Z9`Ij?QJXI30d31d@8)4_OD5Zq$2 z7>*41EySiDkSq^h`pkRE5aU^73c!3fig@VbWq?yk3^08^6!CoS?4<0>ZhZVRR#I4L z8B_!&r?i=l@fpZ016rg{VCI3e7{CsEeZdyH?w$`?bLUp;LcYpMs;s!M2!nJ;Tj-z# zg)9Z6Au;gZMf&_H9D%s^oDehb0x>4wZ3xLNZxkLyh=8yIM_(-e-qycFpUOfNqkiz} z&#r0EEIjYY_UElA|AIp7)yz8G-U_iney>sgB;H)FgpvF2ZMM0&18~^k81$KzBleUT z(?|O38!enT`i8~g# zX!0Wc4H=~TbR_yo{sUA0_>O0$1noj&%j?!ZRh2yZ4~Z#Ab||m@(WZ2xU7+1Ai1r_T zEZc?Z@@CNC3?*NMAqK7#f-U6c5NM-_k@b~!TZc#l3&8t)`mnp7yY*qq0=B56%r5<( z1+ZJd3!d06$TrcYaTOzMliO{!3vha2=V*J0Ioe+uLG@vJ2nXBsD)a;YZ0ER&ri;A7 z*Y8BTs5TM&3jy-YSy|e9@eWxnTvclq{MT((*TnY1^T9a5k^hi4k-#(YlOM_!H};c1 zzhJ+7e3AHK3tCY`!Qc+Ok_TGQg6O<6J!sNKM}J*58sR*8_;+^QyoN|z0{1~bh>O^H zu=EhW2ixDmp|g(qJO#jZPC_HY_+#6lFvSHCsihILMB`%O*@YRRUBQLL@d_i63Af|b z1ClvShuhusr|-YSbI!bZ_LMC?uw#10w7<5pY?ZC5f59%C{W(P_WYVhthJ!Qiv$kVys;PA?BS={a~tk= zLxsGn_)x$qeLQU0RB4S{%dM%t9O?RJ`7_(Sseg%nlK)$we{B2;@r~8uGAtLS;if|n z|76!#f8D@k(ZS>g?`80U{_CF6{2~2BEXV!KiL>o*Fspgs_+j?qraIfSWvhMR>_ctF z$e}i8>~Py3v%h!$Whs_+725H8jkM35I@ivbJ=NCLZ?$<-N82ncV}54ECfE;0?9_pu zM{FoSp95_NPa0+?%^Yu!E?r|+o;XLH-&LEp+TSA&V=A-uzC&i(C71>H#Uszzs9}Tc z$QExPZ*(Tj4xBvHK8)Go`(IuOr^dsaAwPGvwAjC% zdz9@zYM4zMT4nR5jj?+cEwy*fnrM@2O6|~z!|e-a9&QIt7-CPX+F+xrO6^N$9%3Ij zVm~X*cH3XpZB`p~)&Uc2-t>_$Po4IavyQOy4w`N)9pGhiJ=DYLqUe;TeEPg^Z)mX2 z=4R_^Z9_cuj-fsJ$H!bz1^tU~ySx2Q_BYwzx5EBHid6EPS)+N8PWQ6@!?;>eX^CZF zS2D1}o$VdS(T?k1QF*zQ4q>~%yyIXy66&rhES^VHm)fW1?JwJS*p%V$i|cLe#;tb6 ziL>mespD+w@M=4B!f?Cwu@_*|3SrAe+Gpm^vG*Q2Q@-Kqi5MU2TZX)ys*@+J@aUL2z<73ats?t zo{nYE*PJxR&YCp|R<+GuT)zc*!60Qx0os)#tf6tMu?--;HVjaH1U7jsCi6W`w0 zXzlfNAq>HQ+mrP_wks|NFI=8u`{Nsbs`3I9%TXvd$&L_$;s}6`0wBtj$N^M8bgOWr z1w8*afp&YmXq=)akCfy+CG+NX}Y!G;eWYhU^GWwv6|i}t~zzG?@LK7+On?~%>4dHbDXV~0+& zuikpOt=_!YMpaL;A%jNSuO9uDEnNMWEm^nF{`J<6*;8xovzp2gcG&o{<@AvMcFYK$ zKI=n>yH~q*dKqG5iA71VP)xe#js88H<=jupzqj=-(WgT7Uj5$_>e z1rX%19sQ}ps%;iJ)bLnr*2Gchh?XK_g*I(ujeYpIgY1EqmfPk3eGBqdWZy%_aWG~x zF8t0f>`&+fe&N)^Yzi9xV3dU32OJRu-bj(uUyD8=Doaak=7?eT_47`^0B56J_`P4+ z;Id-7{`}+cPBNCSLAHCLZ@q&HgCwE#^d6~@^HPlLqvQ~`Q@Nd8S7TX7tY;VxhGSdu>JFAjI+|>65vxS%WQ9Zz`?!xC%4;6 zwVUkj7nT6mudRM-lkGibC>+#7G3Z%t@BYS5tr|FPyl6gnJHfv3`-kn*D9iUAytln? zF7~&8aUU~eu$?<+Z~NjIN7z5z_JDnD!9(_;Blfqyhtr9v7KvIVxjlX6hHXGUYybCz z`cI8W?JuPO%}n|yKbH2dt-etC2mDu6lpqho z?VD&9R$vhLz2E-1ji@ZM>p`z(P!T$-g=hnY*(c{8ZohbRp?&J-zq876v?Z{)Wo1Qb zH@|zqaj>m>+gI;+*slBCpX~p$_Z@#!E z*=O&y*V=3CwbxqvoPEyu*a3Ul`5!qN!tS%mij2*g)PniIK6cJ!x7no+JOTe#VS8^s z#pXW0%)WBTjj;WLcE&|F*m-x)u`aanxZSqLMQ7Z3hOoGz=cG66ggGx(Md@xZWU3o( zC@c1Vn#_;P`PXpS-;CCOa{xd%dI=LIrqnPgp=LQUC(;du5^AV}NQcz{C?!0yLp=hx z8cXJ?oiFt=%`$-v^fUm6i$2=HmbphqI?o6aVu5+yMslcugbEKVy4D_8_eU#fz$>!{ zS`e^YYd62}E9-6Su&bW?K7zlQcI>Q=+t22F5rGfoK|GF=fzTgkf6E@-aFZE=rvJR@ zeRlRy7uwr)`LJF6=r2H}#D012S+=a~aT^4FTnv(oxT52ehkwiFt$N6Q@!*#%(^P6V zzW5UxDC@Fgcm0Ij^ZezK^vaD(?T7cDZW-LoC>h|g3tVHu(&|i0w+)nZTR#HJ(&kpf zB0IZe_IK<<2mG^L|Lo7Lq;k;q!5!hA{!UxgIgcwgU=P`DAdrv>{A(D&$uPSl3`E}K zk;*Vn@JIlnR7wysl%{COrNaY_Z%j!4AZ5@bKGA1szB*;d<=&pbzQMv2FBU?z4CRE& zS3-NZ?1p&-Ttv%d9!?(xfj*5#XeNR|loJhptg3Os(}0?R{2*RQw=x4h2f;p+f+!)qqElCfaFJi&7dfXRILRLXD&PSZUBEr{CpOnH zId0wUgXr~W0gyXB(svXhuQrDM@urKE(+}+k%~boM{vl7zAzor+TL~9-`8$n3&9>$B z0Vkp_{R@b>;@fu|Dftih7m%b#3ixlFbF-z|^Z8r=P?#Dud0 z9|!2i1Z^EAse@JHEZ5m?C(hd5K7ZLAHg8!gnpkQl|MEJ!;3LNX8Jiqr;mDCA4u;a_ zM3^O%4U%Mq5_ee*+SPMkup8#Bgq^Ij%8~)Q>al0+_j49ne|f$A_Mru~+jbM}a?3D)uxiF^0vG9@Z%keKjyXfKhcHX_TeGPWbb+EJVKf+GlW4itP&rb@+kN*6) z-LYr`f{hwH?oz>~qpdlc-c(}~>#ObEzq-NN`>JgD@(%m_<#*Xn-+h=(pV(mQAwzCo zyY>OwSXyHx6q8f?V%du+(-zJAKuFSw~NwefWZ#Y(obvaF3mF)t~LBr@Y1ftN(r*EU!Y| zU($~vrp~e>GkN(?wrmA9B-P1iA5S=vRl(#=1xSZ=EP?}kq#NxJbJWIS`lN^2s!1Bygfr0RB%k&l3)KOIjXa{hPy~2o zOCC(2L<|vcY^jews=x3#Gis*Xf!fcy*u;NGMnMI9d4wnyZ=^4zY?D)SKcfQVK`yXS z>?{7U77uxSVj8*REc$O^5nQP2r}V4nENqU2d!9H=Plj|Tia2zNtO|uDG@Bfk*wmrpv7W@z9Djr%BqJ3c>jBm^fJ;{C31nD3bF`Xsx8i9kRM>w zY9i%EQp6pQb4-?1WNiQ|Gx|HROd0wkaT5-F&^4$*tjIjl#J-`b!s<}>`UT5vAX{gb zJhI4ofp^DAP4>*ncI$y(XzRt&-kN4B#nRy8cAaM5yX!H#ZZ7WfmR8s&FS^}+{h^~A zwfql-#-QA9afv$|E_P63QX{s4+(x z%*Vm&bMJZiv4Qj9q@Q62N&90%aZV;n4>bi(7;eHvsG|P&0=C2o`xkNO2U`Lq|aF_1e>a3o}G50hh+ekSP0*2q6y zqjcdV`oHWom{b@(puQ1WOYtb6J=#l4f^%>86mh@@d$!??4gr-_N29>j?Us!`>*PIBJ zSTBO0XK)vQO;St@8^e6xe9UsW5hpjIPe2yq7xM^9nG(gajR+2Kv5=F7F4(sV9$sio z)fqcr+ZLNVuFiIB8D|^2FtKE1RtQ!=cEU4=jRn{?L*KLWAhVaP(N%Qf;l$vgInUTf zuyjkc-(I32fL;A$0jrCcX zwo#Zptu_XL2VQ``g0o{%P0Aanvi?@H=)l-R0e**FFHD$w=U`*kFh@b#hDL16viBisiEvO zHCza=8)5c;G}|9W4D5(4$)D1HIr*0|=vEgwtaqzAi^$b=B7>d0yT<=3>;Gu~smnkG z1b^B8Vfi9(J5BKv(wn32_6N`o2oSd439z+!ofD1%|I$~^ba^)dM_DM`*eJHYtj|^` zI1G)}utbhyLOJMp{EHj{b4T)oKpkQbPGMp#Y$%WPb!RWqN2b${l;hFotLX6=%0A=h~Uq!??C*D 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

7k=MBb`)*1%|Aq>w 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 From 0f9a3bfd9ea031b42a1532faa50cfe521ecf2dda Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 16:31:51 -0500 Subject: [PATCH 11/40] readme minor edits --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index dfa8ae9..1e32358 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,21 @@

- + - - + + - +

# Jira Source dbt Package # 📣 What does this dbt package do? -This package cleans, tests, and preps Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). +This package cleans, tests, and prepares Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira) for analysis. It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation) and is intended to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira). Refer to the DAG below for a detailed view of all models materialized by default within this package. Additionally, refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these models. @@ -27,7 +29,7 @@ To effectively install this package and leverage the pre-made models, you will f ## Step 1: Pre-Requisites You will need to ensure you have the following before leveraging the dbt package. - **Connector**: Have the Fivetran Jira connector syncing data into your warehouse. -- **Database support**: This package has been tested on BigQuery, Snowflake, Redshift, and Postgres. Ensure you are using one of these supported databases. +- **Database support**: This package has been tested on **BigQuery**, **Snowflake**, **Redshift**, and **Postgres**. Ensure you are using one of these supported databases. - **dbt Version**: This dbt package requires you have a functional dbt project that utilizes a dbt version within the respective range `>=1.0.0, <2.0.0`. ## Step 2: Installing the Package Include the following jira_source package version in your `packages.yml` @@ -46,7 +48,7 @@ vars: jira_database: your_database_name jira_schema: your_schema_name ``` -### Disabling Model Variables +### Disabling Components Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: ```yml From 524e9dd2c087565643178e50d22e00dbdcf7e044 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 16:40:46 -0500 Subject: [PATCH 12/40] readme wording adjustment --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e32358..5b5fcc0 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ # 📣 What does this dbt package do? This package cleans, tests, and prepares Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira) for analysis. It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation) and is intended to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira). -Refer to the DAG below for a detailed view of all models materialized by default within this package. Additionally, refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these models. +Refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these models. # 🤔 Who is the target user of this dbt package? - You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) From f37a50b93c2bb609db7a2006ef1ee8737af85a78 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 26 Apr 2022 16:44:14 -0500 Subject: [PATCH 13/40] updates --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5b5fcc0..1806125 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

+ href="https://github.com/fivetran/dbt_jira_source/blob/main/LICENSE"> @@ -86,7 +86,7 @@ packages: ``` # 🙌 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 you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/github_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_jira_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. +The Fivetran team maintaining this package **only** maintains the latest version of the package. We highly recommend you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/jira_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_jira_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. ## Contributions These dbt packages are developed by a small team of analytics engineers at Fivetran. However, the packages are made better by community contributions! @@ -94,6 +94,6 @@ These dbt packages are developed by a small team of analytics engineers at Fivet We highly encourage and welcome contributions to this package. Check out [this post](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) on the best workflow for contributing to a package! # 🏪 Are there any resources available? -- If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_github_source/issues/new/choose) section to find the right avenue of support for you. +- If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_jira_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 future dbt package to be developed, then feel free to 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 [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or send us an email at solutions@fivetran.com. \ No newline at end of file From a806c56db22e61accccaaea56a784aa1d1c32ca2 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Wed, 27 Apr 2022 12:18:45 -0500 Subject: [PATCH 14/40] readme feedback changes --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1806125..1610ef3 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@

-# Jira Source dbt Package +# Jira Source dbt Package ([Docs](https://fivetran.github.io/dbt_jira_source/)) # 📣 What does this dbt package do? -This package cleans, tests, and prepares Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira) for analysis. It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation) and is intended to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira). - -Refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these models. +- Cleans, tests, and prepares your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira) for analysis. +- Generates a comprehensive data dictionary of your Jira data via the [dbt docs site](https://fivetran.github.io/dbt_jira_source/) +- Materializes staging tables which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation) and is intended to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira) + - Refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these materialized models. # 🤔 Who is the target user of this dbt package? - You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) From 2ef5c4cf25cb1210184d296641dc38d2ff9c0a8a Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Fri, 29 Apr 2022 15:20:14 -0500 Subject: [PATCH 15/40] minor updates for style --- README.md | 3 +- dbt_project.yml | 2 +- docs/catalog.json | 2 +- docs/index.html | 20 ++++----- docs/manifest.json | 2 +- integration_tests/dbt_project.yml | 42 +++++++++---------- models/src_jira.yml | 19 ++++++++- models/stg_jira__comment.sql | 4 +- models/stg_jira__issue.sql | 15 +++---- models/stg_jira__issue_field_history.sql | 6 +-- .../stg_jira__issue_multiselect_history.sql | 6 +-- models/stg_jira__sprint.sql | 6 +-- models/stg_jira__version.sql | 4 +- 13 files changed, 72 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 1610ef3..0b47287 100644 --- a/README.md +++ b/README.md @@ -42,12 +42,13 @@ packages: ``` ## Step 3: Configure Your Variables ### Database and Schema Variables -By default, this package will run using your target database and the `jira` schema. If this is not where your Jira data is (perhaps your Jira schema is `jira_fivetran`), add the following configuration to your root `dbt_project.yml` file: +By default, this package will run using your target database and the `jira` schema. If this is not where your Jira data is (perhaps your Jira schema is `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: ```yml vars: jira_database: your_database_name jira_schema: your_schema_name + jira___identifier: your_table_name ``` ### Disabling Components Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: diff --git a/dbt_project.yml b/dbt_project.yml index fcf8596..6493f1c 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,5 +1,5 @@ name: 'jira_source' -version: '0.4.0' +version: '0.5.0' config-version: 2 require-dbt-version: [">=1.0.0", "<2.0.0"] diff --git a/docs/catalog.json b/docs/catalog.json index bb457cc..794fda0 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-04-26T15:54:06.113942Z", "invocation_id": "838199f1-e0af-4819-8cf5-145c6fe6bbf5", "env": {}}, "nodes": {"model.jira_source.stg_jira__issue_field_history_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_field_history_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 5, "name": "author_id", "comment": null}, "is_active": {"type": "BOOL", "index": 6, "name": "is_active", "comment": null}, "value": {"type": "STRING", "index": 7, "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.jira_source.stg_jira__issue_field_history_tmp"}, "model.jira_source.stg_jira__user": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__user", "database": "bq-project", "comment": null, "owner": null}, "columns": {"email": {"type": "STRING", "index": 1, "name": "email", "comment": null}, "user_id": {"type": "STRING", "index": 2, "name": "user_id", "comment": null}, "locale": {"type": "STRING", "index": 3, "name": "locale", "comment": null}, "user_display_name": {"type": "STRING", "index": 4, "name": "user_display_name", "comment": null}, "time_zone": {"type": "STRING", "index": 5, "name": "time_zone", "comment": null}, "username": {"type": "STRING", "index": 6, "name": "username", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 7, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 22.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2069.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__user"}, "model.jira_source.stg_jira__issue_type": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_type", "database": "bq-project", "comment": null, "owner": null}, "columns": {"description": {"type": "STRING", "index": 1, "name": "description", "comment": null}, "issue_type_id": {"type": "INT64", "index": 2, "name": "issue_type_id", "comment": null}, "issue_type_name": {"type": "STRING", "index": 3, "name": "issue_type_name", "comment": null}, "is_subtask": {"type": "BOOL", "index": 4, "name": "is_subtask", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 24.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1438.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_type"}, "model.jira_source.stg_jira__user_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__user_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "STRING", "index": 3, "name": "email", "comment": null}, "locale": {"type": "STRING", "index": 4, "name": "locale", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "STRING", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "STRING", "index": 7, "name": "username", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__user_tmp"}, "model.jira_source.stg_jira__resolution_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__resolution_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, "model.jira_source.stg_jira__comment_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__comment_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "STRING", "index": 4, "name": "body", "comment": null}, "created": {"type": "TIMESTAMP", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "BOOL", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "INT64", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "STRING", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 9, "name": "updated", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, "model.jira_source.stg_jira__issue_link_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_link_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"issue_id": {"type": "INT64", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "INT64", "index": 2, "name": "related_issue_id", "comment": null}, "relationship": {"type": "STRING", "index": 3, "name": "relationship", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "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.jira_source.stg_jira__issue_link_tmp"}, "model.jira_source.stg_jira__component_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__component_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "INT64", "index": 5, "name": "project_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.jira_source.stg_jira__component_tmp"}, "model.jira_source.stg_jira__field_option_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__field_option_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "INT64", "index": 4, "name": "parent_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.jira_source.stg_jira__field_option_tmp"}, "model.jira_source.stg_jira__field_option": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__field_option", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "INT64", "index": 1, "name": "field_id", "comment": null}, "field_option_name": {"type": "STRING", "index": 2, "name": "field_option_name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 24.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 480.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_option"}, "model.jira_source.stg_jira__resolution": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__resolution", "database": "bq-project", "comment": null, "owner": null}, "columns": {"resolution_description": {"type": "STRING", "index": 1, "name": "resolution_description", "comment": null}, "resolution_id": {"type": "INT64", "index": 2, "name": "resolution_id", "comment": null}, "resolution_name": {"type": "STRING", "index": 3, "name": "resolution_name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 252.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__resolution"}, "model.jira_source.stg_jira__priority": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__priority", "database": "bq-project", "comment": null, "owner": null}, "columns": {"priority_description": {"type": "STRING", "index": 1, "name": "priority_description", "comment": null}, "priority_id": {"type": "INT64", "index": 2, "name": "priority_id", "comment": null}, "priority_name": {"type": "STRING", "index": 3, "name": "priority_name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 329.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__priority"}, "model.jira_source.stg_jira__issue_link": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_link", "database": "bq-project", "comment": null, "owner": null}, "columns": {"issue_id": {"type": "INT64", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "INT64", "index": 2, "name": "related_issue_id", "comment": null}, "relationship": {"type": "STRING", "index": 3, "name": "relationship", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 144.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_link"}, "model.jira_source.stg_jira__issue": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue", "database": "bq-project", "comment": null, "owner": null}, "columns": {"original_estimate_seconds": {"type": "FLOAT64", "index": 1, "name": "original_estimate_seconds", "comment": null}, "remaining_estimate_seconds": {"type": "FLOAT64", "index": 2, "name": "remaining_estimate_seconds", "comment": null}, "time_spent_seconds": {"type": "FLOAT64", "index": 3, "name": "time_spent_seconds", "comment": null}, "assignee_user_id": {"type": "STRING", "index": 4, "name": "assignee_user_id", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 5, "name": "created_at", "comment": null}, "resolved_at": {"type": "TIMESTAMP", "index": 6, "name": "resolved_at", "comment": null}, "creator_user_id": {"type": "STRING", "index": 7, "name": "creator_user_id", "comment": null}, "issue_description": {"type": "STRING", "index": 8, "name": "issue_description", "comment": null}, "due_date": {"type": "DATE", "index": 9, "name": "due_date", "comment": null}, "environment": {"type": "STRING", "index": 10, "name": "environment", "comment": null}, "issue_id": {"type": "INT64", "index": 11, "name": "issue_id", "comment": null}, "issue_type_id": {"type": "INT64", "index": 12, "name": "issue_type_id", "comment": null}, "issue_key": {"type": "STRING", "index": 13, "name": "issue_key", "comment": null}, "parent_issue_id": {"type": "INT64", "index": 14, "name": "parent_issue_id", "comment": null}, "priority_id": {"type": "INT64", "index": 15, "name": "priority_id", "comment": null}, "project_id": {"type": "INT64", "index": 16, "name": "project_id", "comment": null}, "reporter_user_id": {"type": "STRING", "index": 17, "name": "reporter_user_id", "comment": null}, "resolution_id": {"type": "INT64", "index": 18, "name": "resolution_id", "comment": null}, "status_id": {"type": "INT64", "index": 19, "name": "status_id", "comment": null}, "status_changed_at": {"type": "TIMESTAMP", "index": 20, "name": "status_changed_at", "comment": null}, "issue_name": {"type": "STRING", "index": 21, "name": "issue_name", "comment": null}, "updated_at": {"type": "TIMESTAMP", "index": 22, "name": "updated_at", "comment": null}, "work_ratio": {"type": "FLOAT64", "index": 23, "name": "work_ratio", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 24, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 2404.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 650476.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue"}, "model.jira_source.stg_jira__issue_field_history": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_field_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 2, "name": "issue_id", "comment": null}, "updated_at": {"type": "TIMESTAMP", "index": 3, "name": "updated_at", "comment": null}, "field_value": {"type": "STRING", "index": 4, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 199873.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 8976907.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_field_history"}, "model.jira_source.stg_jira__status_category": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__status_category", "database": "bq-project", "comment": null, "owner": null}, "columns": {"status_category_id": {"type": "INT64", "index": 1, "name": "status_category_id", "comment": null}, "status_category_name": {"type": "STRING", "index": 2, "name": "status_category_name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 3.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 50.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category"}, "model.jira_source.stg_jira__issue_multiselect_history": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__issue_multiselect_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "field_id": {"type": "STRING", "index": 2, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 3, "name": "issue_id", "comment": null}, "updated_at": {"type": "TIMESTAMP", "index": 4, "name": "updated_at", "comment": null}, "field_value": {"type": "STRING", "index": 5, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 6, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 37969.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2656841.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history"}, "model.jira_source.stg_jira__issue_type_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_type_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "BOOL", "index": 5, "name": "subtask", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, "model.jira_source.stg_jira__comment": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__comment", "database": "bq-project", "comment": null, "owner": null}, "columns": {"author_user_id": {"type": "STRING", "index": 1, "name": "author_user_id", "comment": null}, "body": {"type": "STRING", "index": 2, "name": "body", "comment": null}, "created_at": {"type": "TIMESTAMP", "index": 3, "name": "created_at", "comment": null}, "comment_id": {"type": "INT64", "index": 4, "name": "comment_id", "comment": null}, "issue_id": {"type": "INT64", "index": 5, "name": "issue_id", "comment": null}, "is_public": {"type": "BOOL", "index": 6, "name": "is_public", "comment": null}, "last_update_user_id": {"type": "STRING", "index": 7, "name": "last_update_user_id", "comment": null}, "last_updated_at": {"type": "TIMESTAMP", "index": 8, "name": "last_updated_at", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 9, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 148.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 26087.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__comment"}, "model.jira_source.stg_jira__issue_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "FLOAT64", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "FLOAT64", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "FLOAT64", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "STRING", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "TIMESTAMP", "index": 8, "name": "created", "comment": null}, "creator": {"type": "STRING", "index": 9, "name": "creator", "comment": null}, "description": {"type": "STRING", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "DATE", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "STRING", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "INT64", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "STRING", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "TIMESTAMP", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "FLOAT64", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "INT64", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "INT64", "index": 18, "name": "priority", "comment": null}, "project": {"type": "INT64", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "FLOAT64", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "STRING", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "INT64", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "TIMESTAMP", "index": 23, "name": "resolved", "comment": null}, "security_level": {"type": "INT64", "index": 24, "name": "security_level", "comment": null}, "status": {"type": "INT64", "index": 25, "name": "status", "comment": null}, "status_category_changed": {"type": "TIMESTAMP", "index": 26, "name": "status_category_changed", "comment": null}, "summary": {"type": "STRING", "index": 27, "name": "summary", "comment": null}, "time_spent": {"type": "FLOAT64", "index": 28, "name": "time_spent", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 29, "name": "updated", "comment": null}, "work_ratio": {"type": "FLOAT64", "index": 30, "name": "work_ratio", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__issue_multiselect_history_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "field_id": {"type": "STRING", "index": 2, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 3, "name": "issue_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 4, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 6, "name": "author_id", "comment": null}, "is_active": {"type": "BOOL", "index": 7, "name": "is_active", "comment": null}, "value": {"type": "STRING", "index": 8, "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.jira_source.stg_jira__issue_multiselect_history_tmp"}, "model.jira_source.stg_jira__project_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__project_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 4, "name": "description", "comment": null}, "key": {"type": "STRING", "index": 5, "name": "key", "comment": null}, "lead_id": {"type": "STRING", "index": 6, "name": "lead_id", "comment": null}, "name": {"type": "STRING", "index": 7, "name": "name", "comment": null}, "permission_scheme_id": {"type": "INT64", "index": 8, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "INT64", "index": 9, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "STRING", "index": 10, "name": "project_type_key", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__project_tmp"}, "model.jira_source.stg_jira__status": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__status", "database": "bq-project", "comment": null, "owner": null}, "columns": {"status_description": {"type": "STRING", "index": 1, "name": "status_description", "comment": null}, "status_id": {"type": "INT64", "index": 2, "name": "status_id", "comment": null}, "status_name": {"type": "STRING", "index": 3, "name": "status_name", "comment": null}, "status_category_id": {"type": "INT64", "index": 4, "name": "status_category_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 22.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2195.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status"}, "model.jira_source.stg_jira__project": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__project", "database": "bq-project", "comment": null, "owner": null}, "columns": {"project_description": {"type": "STRING", "index": 1, "name": "project_description", "comment": null}, "project_id": {"type": "INT64", "index": 2, "name": "project_id", "comment": null}, "project_key": {"type": "STRING", "index": 3, "name": "project_key", "comment": null}, "project_lead_user_id": {"type": "STRING", "index": 4, "name": "project_lead_user_id", "comment": null}, "project_name": {"type": "STRING", "index": 5, "name": "project_name", "comment": null}, "project_category_id": {"type": "INT64", "index": 6, "name": "project_category_id", "comment": null}, "permission_scheme_id": {"type": "INT64", "index": 7, "name": "permission_scheme_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 8, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 6.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 444.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__project"}, "model.jira_source.stg_jira__field": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__field", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "is_array": {"type": "BOOL", "index": 2, "name": "is_array", "comment": null}, "is_custom": {"type": "BOOL", "index": 3, "name": "is_custom", "comment": null}, "field_name": {"type": "STRING", "index": 4, "name": "field_name", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 135.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 5996.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field"}, "model.jira_source.stg_jira__priority_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__priority_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, "model.jira_source.stg_jira__component": {"metadata": {"type": "table", "schema": "dbt_joe_jira", "name": "stg_jira__component", "database": "bq-project", "comment": null, "owner": null}, "columns": {"component_description": {"type": "STRING", "index": 1, "name": "component_description", "comment": null}, "component_id": {"type": "INT64", "index": 2, "name": "component_id", "comment": null}, "component_name": {"type": "STRING", "index": 3, "name": "component_name", "comment": null}, "project_id": {"type": "INT64", "index": 4, "name": "project_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 5, "name": "_fivetran_synced", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 15.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 1545.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__component"}, "model.jira_source.stg_jira__field_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__field_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "BOOL", "index": 4, "name": "is_array", "comment": null}, "is_custom": {"type": "BOOL", "index": 5, "name": "is_custom", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_tmp"}, "model.jira_source.stg_jira__status_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__status_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "INT64", "index": 5, "name": "status_category_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.jira_source.stg_jira__status_tmp"}, "model.jira_source.stg_jira__status_category_tmp": {"metadata": {"type": "view", "schema": "dbt_joe_jira", "name": "stg_jira__status_category_tmp", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}}, "sources": {"source.jira_source.jira.user": {"metadata": {"type": "table", "schema": "jira_2", "name": "user", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "STRING", "index": 3, "name": "email", "comment": null}, "locale": {"type": "STRING", "index": 4, "name": "locale", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "STRING", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "STRING", "index": 7, "name": "username", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 335.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.user"}, "source.jira_source.jira.field_option": {"metadata": {"type": "table", "schema": "jira_2", "name": "field_option", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 8.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 180.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.field_option"}, "source.jira_source.jira.issue_field_history": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_field_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"field_id": {"type": "STRING", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "STRING", "index": 5, "name": "value", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 497.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 22346.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_field_history"}, "source.jira_source.jira.issue_multiselect_history": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_multiselect_history", "database": "bq-project", "comment": null, "owner": null}, "columns": {"_fivetran_id": {"type": "STRING", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "TIMESTAMP", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "STRING", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "INT64", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "STRING", "index": 6, "name": "value", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 209.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 15646.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_multiselect_history"}, "source.jira_source.jira.issue_type": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_type", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "BOOL", "index": 5, "name": "subtask", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 11.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 795.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_type"}, "source.jira_source.jira.comment": {"metadata": {"type": "table", "schema": "jira_2", "name": "comment", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "STRING", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "STRING", "index": 4, "name": "body", "comment": null}, "created": {"type": "TIMESTAMP", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "BOOL", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "INT64", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "STRING", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 9, "name": "updated", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 159.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.comment"}, "source.jira_source.jira.issue_link": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue_link", "database": "bq-project", "comment": null, "owner": null}, "columns": {"issue_id": {"type": "INT64", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "INT64", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "STRING", "index": 4, "name": "relationship", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 3.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 108.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue_link"}, "source.jira_source.jira.issue": {"metadata": {"type": "table", "schema": "jira_2", "name": "issue", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "BOOL", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "FLOAT64", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "FLOAT64", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "FLOAT64", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "STRING", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "TIMESTAMP", "index": 8, "name": "created", "comment": null}, "creator": {"type": "STRING", "index": 9, "name": "creator", "comment": null}, "description": {"type": "STRING", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "DATE", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "STRING", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "INT64", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "STRING", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "TIMESTAMP", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "FLOAT64", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "INT64", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "INT64", "index": 18, "name": "priority", "comment": null}, "project": {"type": "INT64", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "FLOAT64", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "STRING", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "INT64", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "TIMESTAMP", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "INT64", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "TIMESTAMP", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "STRING", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "FLOAT64", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "TIMESTAMP", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "FLOAT64", "index": 29, "name": "work_ratio", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 11.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2126.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.issue"}, "source.jira_source.jira.component": {"metadata": {"type": "table", "schema": "jira_2", "name": "component", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "INT64", "index": 5, "name": "project_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 185.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.component"}, "source.jira_source.jira.priority": {"metadata": {"type": "table", "schema": "jira_2", "name": "priority", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 5.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 329.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.priority"}, "source.jira_source.jira.status_category": {"metadata": {"type": "table", "schema": "jira_2", "name": "status_category", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "STRING", "index": 3, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 3.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 74.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.status_category"}, "source.jira_source.jira.field": {"metadata": {"type": "table", "schema": "jira_2", "name": "field", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "STRING", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "BOOL", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "BOOL", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 73.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 2802.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.field"}, "source.jira_source.jira.project": {"metadata": {"type": "table", "schema": "jira_2", "name": "project", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "key": {"type": "STRING", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "STRING", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "STRING", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "INT64", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "INT64", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "STRING", "index": 9, "name": "project_type_key", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 170.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.project"}, "source.jira_source.jira.version": {"metadata": {"type": "table", "schema": "jira_2", "name": "version", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "BOOL", "index": 3, "name": "archived", "comment": null}, "description": {"type": "STRING", "index": 4, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "BOOL", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "INT64", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "DATE", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "BOOL", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "DATE", "index": 10, "name": "start_date", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 2.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 129.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.version"}, "source.jira_source.jira.status": {"metadata": {"type": "table", "schema": "jira_2", "name": "status", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "INT64", "index": 5, "name": "status_category_id", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 7.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 331.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.status"}, "source.jira_source.jira.resolution": {"metadata": {"type": "table", "schema": "jira_2", "name": "resolution", "database": "bq-project", "comment": null, "owner": null}, "columns": {"id": {"type": "INT64", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "TIMESTAMP", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "STRING", "index": 3, "name": "description", "comment": null}, "name": {"type": "STRING", "index": 4, "name": "name", "comment": null}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "include": true, "description": "Approximate count of rows in this table"}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 62.0, "include": true, "description": "Approximate size of table as reported by BigQuery"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.jira_source.jira.resolution"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.1.0", "generated_at": "2022-04-29T20:18:43.785981Z", "invocation_id": "1f852ed9-2958-4c39-aa44-26188a09128e", "env": {}}, "nodes": {}, "sources": {}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 0c4d0ec..7f33f0a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -24,7 +24,7 @@
icons
- diff --git a/docs/manifest.json b/docs/manifest.json index 713e209..9b1b662 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-04-26T15:53:59.590293Z", "invocation_id": "838199f1-e0af-4819-8cf5-145c6fe6bbf5", "env": {}, "project_id": "759b74ce43947f5f4c91aeddc3e5bad3", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"model.jira_source.stg_jira__comment": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__comment_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_jira__comment_tmp')),\n staging_columns=get_comment_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n created as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n updated as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_comment_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__comment"], "unique_id": "model.jira_source.stg_jira__comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__comment.sql", "original_file_path": "models/stg_jira__comment.sql", "name": "stg_jira__comment", "alias": "stg_jira__comment", "checksum": {"name": "sha256", "checksum": "6f79d5abf5713211fbae5bf1f089f1a1be13ddb6c81798136e09d9928e818b09"}, "tags": [], "refs": [["stg_jira__comment_tmp"], ["stg_jira__comment_tmp"]], "sources": [], "description": "Table of comments made on issues.", "columns": {"comment_id": {"name": "comment_id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_user_id": {"name": "author_user_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the comment was created. TODO - get timezone clarification", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_update_user_id": {"name": "last_update_user_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_updated_at": {"name": "last_updated_at", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__comment.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.439359, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__comment_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 author_id\n \n as \n \n author_id\n \n, \n \n \n body\n \n as \n \n body\n \n, \n \n \n created\n \n as \n \n created\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n is_public\n \n as \n \n is_public\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n update_author_id\n \n as \n \n update_author_id\n \n, \n \n \n updated\n \n as \n \n updated\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n created as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n updated as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__comment`"}, "model.jira_source.stg_jira__project": {"raw_sql": "with base as (\n \n select *\n from {{ ref('stg_jira__project_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_jira__project_tmp')),\n staging_columns=get_project_columns()\n )\n }}\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_project_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__project"], "unique_id": "model.jira_source.stg_jira__project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__project.sql", "original_file_path": "models/stg_jira__project.sql", "name": "stg_jira__project", "alias": "stg_jira__project", "checksum": {"name": "sha256", "checksum": "b79355d418e10ba5291f50718372e85750c439981b28e786fd401fe7d51bd6fb"}, "tags": [], "refs": [["stg_jira__project_tmp"], ["stg_jira__project_tmp"]], "sources": [], "description": "Table of all projects in your organization.", "columns": {"project_id": {"name": "project_id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_description": {"name": "project_description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_key": {"name": "project_key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_lead_user_id": {"name": "project_lead_user_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_name": {"name": "project_name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__project.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.449641, "compiled_sql": "with base as (\n \n select *\n from `bq-project`.`dbt_joe_jira`.`stg_jira__project_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 description\n \n as \n \n description\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n key\n \n as \n \n key\n \n, \n \n \n lead_id\n \n as \n \n lead_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n permission_scheme_id\n \n as \n \n permission_scheme_id\n \n, \n \n \n project_category_id\n \n as \n \n project_category_id\n \n\n\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__project`"}, "model.jira_source.stg_jira__issue_field_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_field_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_jira__issue_field_history_tmp')),\n staging_columns=get_issue_field_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' -%}\n \"TIME\"\n {% elif target.type == 'redshift' -%}\n cast(\"time\" as timestamp without time zone)\n {% else -%}\n time\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_field_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_field_history"], "unique_id": "model.jira_source.stg_jira__issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_field_history.sql", "original_file_path": "models/stg_jira__issue_field_history.sql", "name": "stg_jira__issue_field_history", "alias": "stg_jira__issue_field_history", "checksum": {"name": "sha256", "checksum": "0c2bba09452a57ede52a04c6d5ccddeb3b1261ae372bcd9794cb5c0358d5cf99"}, "tags": [], "refs": [["stg_jira__issue_field_history_tmp"], ["stg_jira__issue_field_history_tmp"]], "sources": [], "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_field_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.445942, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_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 field_id\n \n as \n \n field_id\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n value\n \n as \n \n value\n \n, \n \n \n time\n \n as \n \n time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as \n string\n) as field_id,\n issue_id,\n time\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_history`"}, "model.jira_source.stg_jira__version": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__version_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_jira__version_tmp')),\n staging_columns=get_version_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n release_date,\n released as is_released,\n start_date\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_version_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__version"], "unique_id": "model.jira_source.stg_jira__version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__version.sql", "original_file_path": "models/stg_jira__version.sql", "name": "stg_jira__version", "alias": "stg_jira__version", "checksum": {"name": "sha256", "checksum": "79c39b967d8ce05834a67f613ee4dc80bafa158411357bba23935833a657437b"}, "tags": [], "refs": [["stg_jira__version_tmp"], ["stg_jira__version_tmp"]], "sources": [], "description": "Table of project versions in your organization.", "columns": {"is_archived": {"name": "is_archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_name": {"name": "version_name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_released": {"name": "is_released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__version.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira", "enabled": true}, "created_at": 1650988410.4549172, "compiled_sql": "\n\nwith base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__version_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as boolean) as \n \n archived\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n overdue\n \n , \n cast(null as \n int64\n) as \n \n project_id\n \n , \n cast(null as date) as \n \n release_date\n \n , \n cast(null as boolean) as \n \n released\n \n , \n cast(null as date) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n release_date,\n released as is_released,\n start_date\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__version`"}, "model.jira_source.stg_jira__sprint": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__sprint_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_jira__sprint_tmp')),\n staging_columns=get_sprint_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n complete_date as completed_at,\n end_date as ended_at,\n start_date as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_sprint_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__sprint"], "unique_id": "model.jira_source.stg_jira__sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__sprint.sql", "original_file_path": "models/stg_jira__sprint.sql", "name": "stg_jira__sprint", "alias": "stg_jira__sprint", "checksum": {"name": "sha256", "checksum": "15ce64365c8cb20a7b56e054fd2fcc80cefaccd6cc68b7e3d9287fda20299fc1"}, "tags": [], "refs": [["stg_jira__sprint_tmp"], ["stg_jira__sprint_tmp"]], "sources": [], "description": "Table of all sprints.", "columns": {"sprint_id": {"name": "sprint_id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "completed_at": {"name": "completed_at", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ended_at": {"name": "ended_at", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "sprint_name": {"name": "sprint_name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "started_at": {"name": "started_at", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__sprint.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira", "enabled": true}, "created_at": 1650988410.451275, "compiled_sql": "\n\nwith base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__sprint_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n board_id\n \n , \n cast(null as \n timestamp\n) as \n \n complete_date\n \n , \n cast(null as \n timestamp\n) as \n \n end_date\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n timestamp\n) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n complete_date as completed_at,\n end_date as ended_at,\n start_date as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__sprint`"}, "model.jira_source.stg_jira__field_option": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_option_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_jira__field_option_tmp')),\n staging_columns=get_field_option_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_option_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__field_option"], "unique_id": "model.jira_source.stg_jira__field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__field_option.sql", "original_file_path": "models/stg_jira__field_option.sql", "name": "stg_jira__field_option", "alias": "stg_jira__field_option", "checksum": {"name": "sha256", "checksum": "92dee2e3923eb2d830a7caa04c5564b4feb2dcc90af364b01ea5de717d2c38bb"}, "tags": [], "refs": [["stg_jira__field_option_tmp"], ["stg_jira__field_option_tmp"]], "sources": [], "description": "Table of all options related to custom fields.", "columns": {"field_id": {"name": "field_id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_option_name": {"name": "field_option_name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field_option.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.4414551, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__field_option_tmp`\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field_option`"}, "model.jira_source.stg_jira__field": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_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_jira__field_tmp')),\n staging_columns=get_field_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_string() }}) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__field"], "unique_id": "model.jira_source.stg_jira__field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__field.sql", "original_file_path": "models/stg_jira__field.sql", "name": "stg_jira__field", "alias": "stg_jira__field", "checksum": {"name": "sha256", "checksum": "bd9e1203d72fee62d517f29766a023fa75369dcfc43dd22d1c18a5b0ee6e430e"}, "tags": [], "refs": [["stg_jira__field_tmp"], ["stg_jira__field_tmp"]], "sources": [], "description": "Table of all issue fields.", "columns": {"field_id": {"name": "field_id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_name": {"name": "field_name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.440979, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__field_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 id\n \n as \n \n id\n \n, \n \n \n is_array\n \n as \n \n is_array\n \n, \n \n \n is_custom\n \n as \n \n is_custom\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as \n string\n) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field`"}, "model.jira_source.stg_jira__resolution": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__resolution_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_jira__resolution_tmp')),\n staging_columns=get_resolution_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_resolution_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__resolution"], "unique_id": "model.jira_source.stg_jira__resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__resolution.sql", "original_file_path": "models/stg_jira__resolution.sql", "name": "stg_jira__resolution", "alias": "stg_jira__resolution", "checksum": {"name": "sha256", "checksum": "df0a7fee42db70dbcfb35b1451336d745203a8ecdad4151617aae411dcf3ca5d"}, "tags": [], "refs": [["stg_jira__resolution_tmp"], ["stg_jira__resolution_tmp"]], "sources": [], "description": "Table storing the types of resolutions used by your organization.", "columns": {"resolution_id": {"name": "resolution_id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_description": {"name": "resolution_description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_name": {"name": "resolution_name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__resolution.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.450311, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__resolution_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 description\n \n as \n \n description\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 from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__resolution`"}, "model.jira_source.stg_jira__status": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_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_jira__status_tmp')),\n staging_columns=get_status_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__status"], "unique_id": "model.jira_source.stg_jira__status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__status.sql", "original_file_path": "models/stg_jira__status.sql", "name": "stg_jira__status", "alias": "stg_jira__status", "checksum": {"name": "sha256", "checksum": "648c813903f25664f0814e811e0d78023933601777f17ad4ee32a831477bc6e6"}, "tags": [], "refs": [["stg_jira__status_tmp"], ["stg_jira__status_tmp"]], "sources": [], "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"status_id": {"name": "status_id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_description": {"name": "status_description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_name": {"name": "status_name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.451992, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__status_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 description\n \n as \n \n description\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_category_id\n \n as \n \n status_category_id\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status`"}, "model.jira_source.stg_jira__issue": {"raw_sql": "with base as (\n \n select * \n from {{ ref('stg_jira__issue_tmp') }}\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_tmp')),\n staging_columns=get_issue_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n {% if target.type == 'redshift' -%}\n cast(created as timestamp without time zone) as created_at,\n cast(resolved as timestamp without time zone) as resolved_at,\n {% else -%}\n created as created_at,\n resolved as resolved_at,\n {% endif %}\n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n status_category_changed as status_changed_at,\n summary as issue_name,\n updated as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue"], "unique_id": "model.jira_source.stg_jira__issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue.sql", "original_file_path": "models/stg_jira__issue.sql", "name": "stg_jira__issue", "alias": "stg_jira__issue", "checksum": {"name": "sha256", "checksum": "b2e61c45d403fb92c86378ff4218e7e1826647bdeda22394683a13e4ed7f7662"}, "tags": [], "refs": [["stg_jira__issue_tmp"], ["stg_jira__issue_tmp"]], "sources": [], "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"issue_id": {"name": "issue_id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee_user_id": {"name": "assignee_user_id", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator_user_id": {"name": "creator_user_id", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_description": {"name": "issue_description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_id": {"name": "issue_type_id", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_key": {"name": "issue_key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate_seconds": {"name": "original_estimate_seconds", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_issue_id": {"name": "parent_issue_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_id": {"name": "priority_id", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate_seconds": {"name": "remaining_estimate_seconds", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter_user_id": {"name": "reporter_user_id", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_id": {"name": "resolution_id", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved_at": {"name": "resolved_at", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is un-resolved, this will be null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_id": {"name": "status_id", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_changed_at": {"name": "status_changed_at", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_name": {"name": "issue_name", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent_seconds": {"name": "time_spent_seconds", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.445226, "compiled_sql": "with base as (\n \n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_tmp`\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n _original_estimate\n \n as \n \n _original_estimate\n \n, \n \n \n _remaining_estimate\n \n as \n \n _remaining_estimate\n \n, \n \n \n _time_spent\n \n as \n \n _time_spent\n \n, \n \n \n assignee\n \n as \n \n assignee\n \n, \n \n \n created\n \n as \n \n created\n \n, \n \n \n creator\n \n as \n \n creator\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n environment\n \n as \n \n environment\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n issue_type\n \n as \n \n issue_type\n \n, \n \n \n key\n \n as \n \n key\n \n, \n \n \n original_estimate\n \n as \n \n original_estimate\n \n, \n \n \n parent_id\n \n as \n \n parent_id\n \n, \n \n \n priority\n \n as \n \n priority\n \n, \n \n \n project\n \n as \n \n project\n \n, \n \n \n remaining_estimate\n \n as \n \n remaining_estimate\n \n, \n \n \n reporter\n \n as \n \n reporter\n \n, \n \n \n resolution\n \n as \n \n resolution\n \n, \n \n \n resolved\n \n as \n \n resolved\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n status_category_changed\n \n as \n \n status_category_changed\n \n, \n \n \n summary\n \n as \n \n summary\n \n, \n \n \n time_spent\n \n as \n \n time_spent\n \n, \n \n \n updated\n \n as \n \n updated\n \n, \n \n \n work_ratio\n \n as \n \n work_ratio\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n created as created_at,\n resolved as resolved_at,\n \n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n status_category_changed as status_changed_at,\n summary as issue_name,\n updated as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue`"}, "model.jira_source.stg_jira__status_category": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_category_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_jira__status_category_tmp')),\n staging_columns=get_status_category_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_category_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__status_category"], "unique_id": "model.jira_source.stg_jira__status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__status_category.sql", "original_file_path": "models/stg_jira__status_category.sql", "name": "stg_jira__status_category", "alias": "stg_jira__status_category", "checksum": {"name": "sha256", "checksum": "f260e226e6da3a826497305326ddf19c4464f0f7c052f70251d11f7a641a5aa0"}, "tags": [], "refs": [["stg_jira__status_category_tmp"], ["stg_jira__status_category_tmp"]], "sources": [], "description": "Table of umbrella status categories.", "columns": {"status_category_id": {"name": "status_category_id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_name": {"name": "status_category_name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status_category.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.4525409, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__status_category_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 id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status_category`"}, "model.jira_source.stg_jira__issue_multiselect_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_multiselect_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_jira__issue_multiselect_history_tmp')),\n staging_columns=get_issue_multiselect_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n \"TIME\"\n {% elif target.type == 'redshift' %}\n \"time\"\n {% else %}\n time\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_multiselect_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_multiselect_history"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_multiselect_history.sql", "original_file_path": "models/stg_jira__issue_multiselect_history.sql", "name": "stg_jira__issue_multiselect_history", "alias": "stg_jira__issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "4290865bb2ef9e344383cf6056f4f178968b7d7fc34997541e6cc54370dbda8c"}, "tags": [], "refs": [["stg_jira__issue_multiselect_history_tmp"], ["stg_jira__issue_multiselect_history_tmp"]], "sources": [], "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_multiselect_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.446778, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_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 field_id\n \n as \n \n field_id\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n value\n \n as \n \n value\n \n, \n \n \n time\n \n as \n \n time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as \n string\n) as field_id,\n issue_id,\n \n time\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_history`"}, "model.jira_source.stg_jira__issue_type": {"raw_sql": "with base as (\n\n select * from \n {{ ref('stg_jira__issue_type_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_jira__issue_type_tmp')),\n staging_columns=get_issue_type_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_type_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_type"], "unique_id": "model.jira_source.stg_jira__issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_type.sql", "original_file_path": "models/stg_jira__issue_type.sql", "name": "stg_jira__issue_type", "alias": "stg_jira__issue_type", "checksum": {"name": "sha256", "checksum": "605f5eb9aee0eca280a7c9186d69c378ee3649cd35e495ed387e0a8c19b9cb64"}, "tags": [], "refs": [["stg_jira__issue_type_tmp"], ["stg_jira__issue_type_tmp"]], "sources": [], "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"issue_type_id": {"name": "issue_type_id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_name": {"name": "issue_type_name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_subtask": {"name": "is_subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_type.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.447946, "compiled_sql": "with base as (\n\n select * from \n `bq-project`.`dbt_joe_jira`.`stg_jira__issue_type_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 description\n \n as \n \n description\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 subtask\n \n as \n \n subtask\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_type`"}, "model.jira_source.stg_jira__issue_link": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_link_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_jira__issue_link_tmp')),\n staging_columns=get_issue_link_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_link_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__issue_link"], "unique_id": "model.jira_source.stg_jira__issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__issue_link.sql", "original_file_path": "models/stg_jira__issue_link.sql", "name": "stg_jira__issue_link", "alias": "stg_jira__issue_link", "checksum": {"name": "sha256", "checksum": "7b8846ace343b3984c16bccb1a7bc2f49c6eef1547dec7a2fbcb1a206daff5bb"}, "tags": [], "refs": [["stg_jira__issue_link_tmp"], ["stg_jira__issue_link_tmp"]], "sources": [], "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_link.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.4420202, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_link_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 issue_id\n \n as \n \n issue_id\n \n, \n \n \n related_issue_id\n \n as \n \n related_issue_id\n \n, \n \n \n relationship\n \n as \n \n relationship\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_link`"}, "model.jira_source.stg_jira__component": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__component_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_jira__component_tmp')),\n staging_columns=get_component_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_component_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__component"], "unique_id": "model.jira_source.stg_jira__component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__component.sql", "original_file_path": "models/stg_jira__component.sql", "name": "stg_jira__component", "alias": "stg_jira__component", "checksum": {"name": "sha256", "checksum": "22f31e1f8c71e992171ead7a23e0c61d654dab19ebec7e227c741a704887783d"}, "tags": [], "refs": [["stg_jira__component_tmp"], ["stg_jira__component_tmp"]], "sources": [], "description": "Table of project components (subsections to group issues).", "columns": {"component_id": {"name": "component_id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_description": {"name": "component_description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_name": {"name": "component_name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__component.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira", "enabled": true}, "created_at": 1650988410.440223, "compiled_sql": "\n\nwith base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__component_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 description\n \n as \n \n description\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 project_id\n \n as \n \n project_id\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__component`"}, "model.jira_source.stg_jira__user": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__user_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_jira__user_tmp')),\n staging_columns=get_user_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_user_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__user"], "unique_id": "model.jira_source.stg_jira__user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__user.sql", "original_file_path": "models/stg_jira__user.sql", "name": "stg_jira__user", "alias": "stg_jira__user", "checksum": {"name": "sha256", "checksum": "95b85f878a0a0784390ff0c1738c4bf709902531870b71fee4165f1628d4faa3"}, "tags": [], "refs": [["stg_jira__user_tmp"], ["stg_jira__user_tmp"]], "sources": [], "description": "Table of users associated with your organization.", "columns": {"user_id": {"name": "user_id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "user_display_name": {"name": "user_display_name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__user.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.453501, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__user_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 email\n \n as \n \n email\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n locale\n \n as \n \n locale\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n time_zone\n \n as \n \n time_zone\n \n, \n \n \n username\n \n as \n \n username\n \n\n\n\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__user`"}, "model.jira_source.stg_jira__priority": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__priority_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_jira__priority_tmp')),\n staging_columns=get_priority_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_priority_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "stg_jira__priority"], "unique_id": "model.jira_source.stg_jira__priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "stg_jira__priority.sql", "original_file_path": "models/stg_jira__priority.sql", "name": "stg_jira__priority", "alias": "stg_jira__priority", "checksum": {"name": "sha256", "checksum": "a8495cfa4a37528969e67b871bdf192c97a4a60dc507c0d919175f1b2552feb3"}, "tags": [], "refs": [["stg_jira__priority_tmp"], ["stg_jira__priority_tmp"]], "sources": [], "description": "Table of issue priority levels (global).", "columns": {"priority_id": {"name": "priority_id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_description": {"name": "priority_description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_name": {"name": "priority_name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__priority.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "jira"}, "created_at": 1650988410.448551, "compiled_sql": "with base as (\n\n select * \n from `bq-project`.`dbt_joe_jira`.`stg_jira__priority_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 description\n \n as \n \n description\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 from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__priority`"}, "model.jira_source.stg_jira__version_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nselect * \nfrom {{ var('version') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.version"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__version_tmp"], "unique_id": "model.jira_source.stg_jira__version_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__version_tmp.sql", "original_file_path": "models/tmp/stg_jira__version_tmp.sql", "name": "stg_jira__version_tmp", "alias": "stg_jira__version_tmp", "checksum": {"name": "sha256", "checksum": "4e16bea890df92fe2393d1e151479ee51ed270f40d9b4ba3f922d858787c347e"}, "tags": [], "refs": [], "sources": [["jira", "version"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__version_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira", "enabled": true}, "created_at": 1650988410.3846002, "compiled_sql": "\n\nselect * \nfrom `bq-project`.`jira_2`.`version`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__version_tmp`"}, "model.jira_source.stg_jira__status_category_tmp": {"raw_sql": "select * \nfrom {{ var('status_category') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status_category"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_category_tmp"], "unique_id": "model.jira_source.stg_jira__status_category_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__status_category_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_category_tmp.sql", "name": "stg_jira__status_category_tmp", "alias": "stg_jira__status_category_tmp", "checksum": {"name": "sha256", "checksum": "ce976a7afa132349c28940f9d387b3e635c9a6dd2576844347910580ea592a4b"}, "tags": [], "refs": [], "sources": [["jira", "status_category"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_category_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.389827, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`status_category`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status_category_tmp`"}, "model.jira_source.stg_jira__field_option_tmp": {"raw_sql": "select * \nfrom {{ var('field_option') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field_option"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_option_tmp"], "unique_id": "model.jira_source.stg_jira__field_option_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__field_option_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_option_tmp.sql", "name": "stg_jira__field_option_tmp", "alias": "stg_jira__field_option_tmp", "checksum": {"name": "sha256", "checksum": "cb1e64625d369889104ada54bf610b9aa36e1623853ae29ae24bd8f5bb4b2437"}, "tags": [], "refs": [], "sources": [["jira", "field_option"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_option_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.392342, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`field_option`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field_option_tmp`"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_multiselect_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_multiselect_history"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_multiselect_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_multiselect_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "name": "stg_jira__issue_multiselect_history_tmp", "alias": "stg_jira__issue_multiselect_history_tmp", "checksum": {"name": "sha256", "checksum": "faf8d7e362472ef899552eba8ee39c1fa8a1b803f64a639d6f481400861bc24a"}, "tags": [], "refs": [], "sources": [["jira", "issue_multiselect_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.394824, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_multiselect_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_history_tmp`"}, "model.jira_source.stg_jira__issue_type_tmp": {"raw_sql": "select * \nfrom {{ var('issue_type') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_type_tmp"], "unique_id": "model.jira_source.stg_jira__issue_type_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_type_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_type_tmp.sql", "name": "stg_jira__issue_type_tmp", "alias": "stg_jira__issue_type_tmp", "checksum": {"name": "sha256", "checksum": "166aa9a9ce724421198262fb67dd01b9130712cada1defcd20a991308676e5d0"}, "tags": [], "refs": [], "sources": [["jira", "issue_type"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_type_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.397333, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_type`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_type_tmp`"}, "model.jira_source.stg_jira__sprint_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nselect * \nfrom {{ var('sprint') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.sprint"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__sprint_tmp"], "unique_id": "model.jira_source.stg_jira__sprint_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__sprint_tmp.sql", "original_file_path": "models/tmp/stg_jira__sprint_tmp.sql", "name": "stg_jira__sprint_tmp", "alias": "stg_jira__sprint_tmp", "checksum": {"name": "sha256", "checksum": "a21fcc01937bc59051bdd08532e3cf8535b078b2204f659f9ef98817dfb0c463"}, "tags": [], "refs": [], "sources": [["jira", "sprint"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__sprint_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira", "enabled": true}, "created_at": 1650988410.3998709, "compiled_sql": "\n\nselect * \nfrom `bq-project`.`jira_2`.`sprint`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__sprint_tmp`"}, "model.jira_source.stg_jira__status_tmp": {"raw_sql": "select * \nfrom {{ var('status') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_tmp"], "unique_id": "model.jira_source.stg_jira__status_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__status_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_tmp.sql", "name": "stg_jira__status_tmp", "alias": "stg_jira__status_tmp", "checksum": {"name": "sha256", "checksum": "206c9a7f6e35d22a162df8e6d1ae4c121382af956e056ca619faff9986ab16b3"}, "tags": [], "refs": [], "sources": [["jira", "status"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.403203, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`status`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__status_tmp`"}, "model.jira_source.stg_jira__project_tmp": {"raw_sql": "select * \nfrom {{ var('project') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.project"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__project_tmp"], "unique_id": "model.jira_source.stg_jira__project_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__project_tmp.sql", "original_file_path": "models/tmp/stg_jira__project_tmp.sql", "name": "stg_jira__project_tmp", "alias": "stg_jira__project_tmp", "checksum": {"name": "sha256", "checksum": "776cf64136ff22eaa9fddcb5b4aadd58e5b295800ffd8b3a2c3871ed22531599"}, "tags": [], "refs": [], "sources": [["jira", "project"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__project_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.405705, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`project`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__project_tmp`"}, "model.jira_source.stg_jira__comment_tmp": {"raw_sql": "select * \nfrom {{ var('comment') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.comment"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__comment_tmp"], "unique_id": "model.jira_source.stg_jira__comment_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__comment_tmp.sql", "original_file_path": "models/tmp/stg_jira__comment_tmp.sql", "name": "stg_jira__comment_tmp", "alias": "stg_jira__comment_tmp", "checksum": {"name": "sha256", "checksum": "50e78fc23c6041b43d46c0adf7f6cf3c1e2375ef3410fbdd2f527028d9830880"}, "tags": [], "refs": [], "sources": [["jira", "comment"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__comment_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.4082088, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`comment`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__comment_tmp`"}, "model.jira_source.stg_jira__issue_field_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_field_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_field_history"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_field_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_field_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_field_history_tmp.sql", "name": "stg_jira__issue_field_history_tmp", "alias": "stg_jira__issue_field_history_tmp", "checksum": {"name": "sha256", "checksum": "037b5bef93c17b862d1969a35a66f10feb507b34d943b093c13ace0298b5d855"}, "tags": [], "refs": [], "sources": [["jira", "issue_field_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_field_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.4107049, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_field_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_history_tmp`"}, "model.jira_source.stg_jira__issue_link_tmp": {"raw_sql": "select * \nfrom {{ var('issue_link') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_link"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_link_tmp"], "unique_id": "model.jira_source.stg_jira__issue_link_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_link_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_link_tmp.sql", "name": "stg_jira__issue_link_tmp", "alias": "stg_jira__issue_link_tmp", "checksum": {"name": "sha256", "checksum": "deb68ea3ff7d2f0d254d06e07829733756ce80efb7af5209e5ae43840b8e254a"}, "tags": [], "refs": [], "sources": [["jira", "issue_link"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_link_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.4131799, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue_link`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_link_tmp`"}, "model.jira_source.stg_jira__field_tmp": {"raw_sql": "select * \nfrom {{ var('field') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_tmp"], "unique_id": "model.jira_source.stg_jira__field_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__field_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_tmp.sql", "name": "stg_jira__field_tmp", "alias": "stg_jira__field_tmp", "checksum": {"name": "sha256", "checksum": "aa842b8fc7fa2e61d4b04634ddae4948afce86a6c1ba37197e01c5baeef8f374"}, "tags": [], "refs": [], "sources": [["jira", "field"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.415651, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`field`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__field_tmp`"}, "model.jira_source.stg_jira__user_tmp": {"raw_sql": "select * \nfrom {{ var('user') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.user"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__user_tmp"], "unique_id": "model.jira_source.stg_jira__user_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__user_tmp.sql", "original_file_path": "models/tmp/stg_jira__user_tmp.sql", "name": "stg_jira__user_tmp", "alias": "stg_jira__user_tmp", "checksum": {"name": "sha256", "checksum": "c6665b2e96c3536ab07cdc0fe31225a7be4766df0c7c353e3ade197bc8498279"}, "tags": [], "refs": [], "sources": [["jira", "user"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__user_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.418746, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`user`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__user_tmp`"}, "model.jira_source.stg_jira__issue_tmp": {"raw_sql": "select * \nfrom {{ var('issue') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_tmp"], "unique_id": "model.jira_source.stg_jira__issue_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_tmp.sql", "name": "stg_jira__issue_tmp", "alias": "stg_jira__issue_tmp", "checksum": {"name": "sha256", "checksum": "2f84522aea28fb2bef123eff34648c4777747064de156efaad69c053d3b06092"}, "tags": [], "refs": [], "sources": [["jira", "issue"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.421243, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`issue`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__issue_tmp`"}, "model.jira_source.stg_jira__priority_tmp": {"raw_sql": "select * \nfrom {{ var('priority') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.priority"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__priority_tmp"], "unique_id": "model.jira_source.stg_jira__priority_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__priority_tmp.sql", "original_file_path": "models/tmp/stg_jira__priority_tmp.sql", "name": "stg_jira__priority_tmp", "alias": "stg_jira__priority_tmp", "checksum": {"name": "sha256", "checksum": "1985fab4baa8555431839a35bc3966d7c3a7c67e746cc79a0c9caec5ab34cf90"}, "tags": [], "refs": [], "sources": [["jira", "priority"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__priority_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.423724, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`priority`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__priority_tmp`"}, "model.jira_source.stg_jira__component_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nselect * \nfrom {{ var('component') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.component"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__component_tmp"], "unique_id": "model.jira_source.stg_jira__component_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__component_tmp.sql", "original_file_path": "models/tmp/stg_jira__component_tmp.sql", "name": "stg_jira__component_tmp", "alias": "stg_jira__component_tmp", "checksum": {"name": "sha256", "checksum": "968da15f4a8dbb9e51d593dd0a95ff6081d5b2e3d8f0eb8daedaf2c283decd3c"}, "tags": [], "refs": [], "sources": [["jira", "component"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__component_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira", "enabled": true}, "created_at": 1650988410.4262269, "compiled_sql": "\n\nselect * \nfrom `bq-project`.`jira_2`.`component`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__component_tmp`"}, "model.jira_source.stg_jira__resolution_tmp": {"raw_sql": "select * \nfrom {{ var('resolution') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.resolution"]}, "config": {"enabled": true, "alias": null, "schema": "jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "bq-project", "schema": "dbt_joe_jira", "fqn": ["jira_source", "tmp", "stg_jira__resolution_tmp"], "unique_id": "model.jira_source.stg_jira__resolution_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "tmp/stg_jira__resolution_tmp.sql", "original_file_path": "models/tmp/stg_jira__resolution_tmp.sql", "name": "stg_jira__resolution_tmp", "alias": "stg_jira__resolution_tmp", "checksum": {"name": "sha256", "checksum": "4254df90446b8911d6664fb429ae20adfb05cfe415bed40e5563a5d5bb63786a"}, "tags": [], "refs": [], "sources": [["jira", "resolution"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__resolution_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "jira"}, "created_at": 1650988410.428965, "compiled_sql": "select * \nfrom `bq-project`.`jira_2`.`resolution`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`bq-project`.`dbt_joe_jira`.`stg_jira__resolution_tmp`"}, "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__comment_comment_id", "alias": "unique_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.458692, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select comment_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__comment`\n where comment_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__comment_comment_id", "alias": "not_null_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.459719, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__comment`\nwhere comment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__component_component_id"], "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__component_component_id", "alias": "unique_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.460657, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select component_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__component`\n where component_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__component_component_id"], "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__component_component_id", "alias": "not_null_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.461683, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__component`\nwhere component_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__field_field_id"], "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__field_field_id", "alias": "unique_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.462602, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select field_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__field`\n where field_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_field_id", "alias": "not_null_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.463495, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__field`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field_option')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field_option"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_option_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__field_option_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_option_field_id", "alias": "not_null_stg_jira__field_option_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_option_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.464389, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__field_option`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field_option"}, "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_issue_id", "alias": "unique_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4654112, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select issue_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue`\n where issue_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_issue_id", "alias": "not_null_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.466322, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__issue`\nwhere issue_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["field_id", "issue_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_field_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.jira_source.stg_jira__issue_field_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at", "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f"}, "created_at": 1650988410.4672241, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n field_id, issue_id, updated_at\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_field_history`\n group by field_id, issue_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_field_history"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_multiselect_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.jira_source.stg_jira__issue_multiselect_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at", "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396"}, "created_at": 1650988410.473953, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, updated_at\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_multiselect_history`\n group by _fivetran_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_multiselect_history"}, "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_type_issue_type_id", "alias": "unique_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.476522, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select issue_type_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__issue_type`\n where issue_type_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_type_issue_type_id", "alias": "not_null_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.477589, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__issue_type`\nwhere issue_type_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__priority_priority_id", "alias": "unique_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.478509, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select priority_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__priority`\n where priority_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__priority_priority_id", "alias": "not_null_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.479413, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__priority`\nwhere priority_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.unique_stg_jira__project_project_id.58d321d374": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__project_project_id"], "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__project_project_id", "alias": "unique_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.480314, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select project_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__project`\n where project_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__project_project_id"], "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__project_project_id", "alias": "not_null_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.481326, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__project`\nwhere project_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__resolution_resolution_id", "alias": "unique_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.482219, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select resolution_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__resolution`\n where resolution_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__resolution_resolution_id", "alias": "not_null_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.483119, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__resolution`\nwhere resolution_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__sprint_sprint_id", "alias": "unique_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4841201, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select sprint_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__sprint`\n where sprint_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__sprint_sprint_id", "alias": "not_null_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.485016, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__sprint`\nwhere sprint_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.unique_stg_jira__status_status_id.0449241b95": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_status_id"], "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_status_id", "alias": "unique_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.485913, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select status_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__status`\n where status_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_status_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_status_id", "alias": "not_null_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4868102, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__status`\nwhere status_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_category_status_category_id", "alias": "unique_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.487987, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select status_category_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__status_category`\n where status_category_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_category_status_category_id", "alias": "not_null_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.488883, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__status_category`\nwhere status_category_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__user_user_id"], "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__user_user_id", "alias": "unique_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.4897642, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select user_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__user`\n where user_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__user_user_id"], "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__user_user_id", "alias": "not_null_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.490768, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__user`\nwhere user_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.unique_stg_jira__version_version_id.08231bd017": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__version_version_id"], "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "unique_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__version_version_id", "alias": "unique_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.491659, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n \n select version_id as unique_field\n from `bq-project`.`dbt_joe_jira`.`stg_jira__version`\n where version_id is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}, "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "bq-project", "schema": "dbt_joe_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__version_version_id"], "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "not_null_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__version_version_id", "alias": "not_null_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1650988410.492558, "compiled_sql": "\n \n \n\nselect *\nfrom `bq-project`.`dbt_joe_jira`.`stg_jira__version`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}}, "sources": {"source.jira_source.jira.comment": {"fqn": ["jira_source", "jira", "comment"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "comment", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "comment", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of comments made on issues.", "columns": {"id": {"name": "id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_id": {"name": "author_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the comment was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "update_author_id": {"name": "update_author_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`comment`", "created_at": 1650988410.513816}, "source.jira_source.jira.component": {"fqn": ["jira_source", "jira", "component"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "component", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "component", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project components (subsections to group issues).\n", "columns": {"id": {"name": "id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`component`", "created_at": 1650988410.5139048}, "source.jira_source.jira.field": {"fqn": ["jira_source", "jira", "field"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issue fields.", "columns": {"id": {"name": "id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`field`", "created_at": 1650988410.5139682}, "source.jira_source.jira.field_option": {"fqn": ["jira_source", "jira", "field_option"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field_option", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field_option", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all options related to custom fields.", "columns": {"id": {"name": "id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`field_option`", "created_at": 1650988410.514028}, "source.jira_source.jira.issue": {"fqn": ["jira_source", "jira", "issue"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"id": {"name": "id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean that is true if the row has been soft-deleted from the source.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee": {"name": "assignee", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator": {"name": "creator", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type": {"name": "issue_type", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_viewed": {"name": "last_viewed", "description": "Timestamp of when the user who set up the connector last viewed the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate": {"name": "original_estimate", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority": {"name": "priority", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project": {"name": "project", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate": {"name": "remaining_estimate", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter": {"name": "reporter", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution": {"name": "resolution", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved": {"name": "resolved", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is marked as un-resolved, this is null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_changed": {"name": "status_category_changed", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "summary": {"name": "summary", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent": {"name": "time_spent", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue`", "created_at": 1650988410.514107}, "source.jira_source.jira.issue_field_history": {"fqn": ["jira_source", "jira", "issue_field_history"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_field_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_field_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_field_history`", "created_at": 1650988410.514167}, "source.jira_source.jira.issue_link": {"fqn": ["jira_source", "jira", "issue_link"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_link", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_link", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_link`", "created_at": 1650988410.514224}, "source.jira_source.jira.issue_multiselect_history": {"fqn": ["jira_source", "jira", "issue_multiselect_history"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_multiselect_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_multiselect_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_multiselect_history`", "created_at": 1650988410.514283}, "source.jira_source.jira.issue_type": {"fqn": ["jira_source", "jira", "issue_type"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_type", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_type", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"id": {"name": "id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "subtask": {"name": "subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`issue_type`", "created_at": 1650988410.5143712}, "source.jira_source.jira.priority": {"fqn": ["jira_source", "jira", "priority"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "priority", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "priority", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of issue priority levels (global).", "columns": {"id": {"name": "id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`priority`", "created_at": 1650988410.51443}, "source.jira_source.jira.project": {"fqn": ["jira_source", "jira", "project"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "project", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "project", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all projects in your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lead_id": {"name": "lead_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_type_key": {"name": "project_type_key", "description": "ID of the type of project (ie 'software').", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`project`", "created_at": 1650988410.514493}, "source.jira_source.jira.resolution": {"fqn": ["jira_source", "jira", "resolution"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "resolution", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "resolution", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table storing the types of resolutions used by your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`resolution`", "created_at": 1650988410.514551}, "source.jira_source.jira.sprint": {"fqn": ["jira_source", "jira", "sprint"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "sprint", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "sprint", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all sprints.", "columns": {"id": {"name": "id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "complete_date": {"name": "complete_date", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_date": {"name": "end_date", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`sprint`", "created_at": 1650988410.5146098}, "source.jira_source.jira.status": {"fqn": ["jira_source", "jira", "status"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"id": {"name": "id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`status`", "created_at": 1650988410.514668}, "source.jira_source.jira.status_category": {"fqn": ["jira_source", "jira", "status_category"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status_category", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status_category", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of overarching status categories.", "columns": {"id": {"name": "id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`status_category`", "created_at": 1650988410.514723}, "source.jira_source.jira.user": {"fqn": ["jira_source", "jira", "user"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "user", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "user", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of users associated with your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`user`", "created_at": 1650988410.514782}, "source.jira_source.jira.version": {"fqn": ["jira_source", "jira", "version"], "database": "bq-project", "schema": "jira_2", "unique_id": "source.jira_source.jira.version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "version", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "version", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project versions in your organization.", "columns": {"archived": {"name": "archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "overdue": {"name": "overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "released": {"name": "released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`bq-project`.`jira_2`.`version`", "created_at": 1650988410.514845}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.736866}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "grant_access_to", "macro_sql": "{% macro grant_access_to(entity, entity_type, role, grant_target_dict) -%}\n {% do adapter.grant_access_to(entity, entity_type, role, grant_target_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.737097}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "get_partitions_metadata", "macro_sql": "\n\n{%- macro get_partitions_metadata(table) -%}\n {%- if execute -%}\n {%- set res = adapter.get_partitions_metadata(table) -%}\n {{- return(res) -}}\n {%- endif -%}\n {{- return(None) -}}\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.737393}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "bigquery__get_catalog", "macro_sql": "{% macro bigquery__get_catalog(information_schema, schemas) -%}\n\n {%- if (schemas | length) == 0 -%}\n {# Hopefully nothing cares about the columns we return when there are no rows #}\n {%- set query = \"select 1 as id limit 0\" -%}\n {%- else -%}\n\n {%- set query -%}\n with tables as (\n select\n project_id as table_database,\n dataset_id as table_schema,\n table_id as original_table_name,\n\n concat(project_id, '.', dataset_id, '.', table_id) as relation_id,\n\n row_count,\n size_bytes as size_bytes,\n case\n when type = 1 then 'table'\n when type = 2 then 'view'\n else 'external'\n end as table_type,\n\n REGEXP_CONTAINS(table_id, '^.+[0-9]{8}$') and coalesce(type, 0) = 1 as is_date_shard,\n REGEXP_EXTRACT(table_id, '^(.+)[0-9]{8}$') as shard_base_name,\n REGEXP_EXTRACT(table_id, '^.+([0-9]{8})$') as shard_name\n\n from {{ information_schema.replace(information_schema_view='__TABLES__') }}\n where (\n {%- for schema in schemas -%}\n upper(dataset_id) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n ),\n\n extracted as (\n\n select *,\n case\n when is_date_shard then shard_base_name\n else original_table_name\n end as table_name\n\n from tables\n\n ),\n\n unsharded_tables as (\n\n select\n table_database,\n table_schema,\n table_name,\n coalesce(table_type, 'external') as table_type,\n is_date_shard,\n\n struct(\n min(shard_name) as shard_min,\n max(shard_name) as shard_max,\n count(*) as shard_count\n ) as table_shards,\n\n sum(size_bytes) as size_bytes,\n sum(row_count) as row_count,\n\n max(relation_id) as relation_id\n\n from extracted\n group by 1,2,3,4,5\n\n ),\n\n info_schema_columns as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n table_catalog as table_database,\n table_schema,\n table_name,\n\n -- use the \"real\" column name from the paths query below\n column_name as base_column_name,\n ordinal_position as column_index,\n\n is_partitioning_column,\n clustering_ordinal_position\n\n from {{ information_schema.replace(information_schema_view='COLUMNS') }}\n where ordinal_position is not null\n\n ),\n\n info_schema_column_paths as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n field_path as column_name,\n data_type as column_type,\n column_name as base_column_name,\n description as column_comment\n\n from {{ information_schema.replace(information_schema_view='COLUMN_FIELD_PATHS') }}\n\n ),\n\n columns as (\n\n select * except (base_column_name)\n from info_schema_columns\n join info_schema_column_paths using (relation_id, base_column_name)\n\n ),\n\n column_stats as (\n\n select\n table_database,\n table_schema,\n table_name,\n max(relation_id) as relation_id,\n max(case when is_partitioning_column = 'YES' then 1 else 0 end) = 1 as is_partitioned,\n max(case when is_partitioning_column = 'YES' then column_name else null end) as partition_column,\n max(case when clustering_ordinal_position is not null then 1 else 0 end) = 1 as is_clustered,\n array_to_string(\n array_agg(\n case\n when clustering_ordinal_position is not null then column_name\n else null\n end ignore nulls\n order by clustering_ordinal_position\n ), ', '\n ) as clustering_columns\n\n from columns\n group by 1,2,3\n\n )\n\n select\n unsharded_tables.table_database,\n unsharded_tables.table_schema,\n case\n when is_date_shard then concat(unsharded_tables.table_name, '*')\n else unsharded_tables.table_name\n end as table_name,\n unsharded_tables.table_type,\n\n -- coalesce name and type for External tables - these columns are not\n -- present in the COLUMN_FIELD_PATHS resultset\n coalesce(columns.column_name, '') as column_name,\n -- invent a row number to account for nested fields -- BQ does\n -- not treat these nested properties as independent fields\n row_number() over (\n partition by relation_id\n order by columns.column_index, columns.column_name\n ) as column_index,\n coalesce(columns.column_type, '') as column_type,\n columns.column_comment,\n\n 'Shard count' as `stats__date_shards__label`,\n table_shards.shard_count as `stats__date_shards__value`,\n 'The number of date shards in this table' as `stats__date_shards__description`,\n is_date_shard as `stats__date_shards__include`,\n\n 'Shard (min)' as `stats__date_shard_min__label`,\n table_shards.shard_min as `stats__date_shard_min__value`,\n 'The first date shard in this table' as `stats__date_shard_min__description`,\n is_date_shard as `stats__date_shard_min__include`,\n\n 'Shard (max)' as `stats__date_shard_max__label`,\n table_shards.shard_max as `stats__date_shard_max__value`,\n 'The last date shard in this table' as `stats__date_shard_max__description`,\n is_date_shard as `stats__date_shard_max__include`,\n\n '# Rows' as `stats__num_rows__label`,\n row_count as `stats__num_rows__value`,\n 'Approximate count of rows in this table' as `stats__num_rows__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_rows__include`,\n\n 'Approximate Size' as `stats__num_bytes__label`,\n size_bytes as `stats__num_bytes__value`,\n 'Approximate size of table as reported by BigQuery' as `stats__num_bytes__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_bytes__include`,\n\n 'Partitioned By' as `stats__partitioning_type__label`,\n partition_column as `stats__partitioning_type__value`,\n 'The partitioning column for this table' as `stats__partitioning_type__description`,\n is_partitioned as `stats__partitioning_type__include`,\n\n 'Clustered By' as `stats__clustering_fields__label`,\n clustering_columns as `stats__clustering_fields__value`,\n 'The clustering columns for this table' as `stats__clustering_fields__description`,\n is_clustered as `stats__clustering_fields__include`\n\n -- join using relation_id (an actual relation, not a shard prefix) to make\n -- sure that column metadata is picked up through the join. This will only\n -- return the column information for the \"max\" table in a date-sharded table set\n from unsharded_tables\n left join columns using (relation_id)\n left join column_stats using (relation_id)\n {%- endset -%}\n\n {%- endif -%}\n\n {{ return(run_query(query)) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.740635}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "partition_by", "macro_sql": "{% macro partition_by(partition_config) -%}\n {%- if partition_config is none -%}\n {% do return('') %}\n {%- elif partition_config.data_type | lower in ('date','timestamp','datetime') -%}\n partition by {{ partition_config.render() }}\n {%- elif partition_config.data_type | lower in ('int64') -%}\n {%- set range = partition_config.range -%}\n partition by range_bucket(\n {{ partition_config.field }},\n generate_array({{ range.start}}, {{ range.end }}, {{ range.interval }})\n )\n {%- endif -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.745727}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "cluster_by", "macro_sql": "{% macro cluster_by(raw_cluster_by) %}\n {%- if raw_cluster_by is not none -%}\n cluster by {% if raw_cluster_by is string -%}\n {% set raw_cluster_by = [raw_cluster_by] %}\n {%- endif -%}\n {%- for cluster in raw_cluster_by -%}\n {{ cluster }}\n {%- if not loop.last -%}, {% endif -%}\n {%- endfor -%}\n\n {% endif %}\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7460968}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_options", "macro_sql": "{% macro bigquery_options(opts) %}\n {% set options -%}\n OPTIONS({% for opt_key, opt_val in opts.items() %}\n {{ opt_key }}={{ opt_val }}{{ \",\" if not loop.last }}\n {% endfor %})\n {%- endset %}\n {%- do return(options) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7464478}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_table_options", "macro_sql": "{% macro bigquery_table_options(config, node, temporary) %}\n {% set opts = adapter.get_table_options(config, node, temporary) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7467022}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_table_as", "macro_sql": "{% macro bigquery__create_table_as(temporary, relation, 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": ["macro.dbt_bigquery.partition_by", "macro.dbt_bigquery.cluster_by", "macro.dbt_bigquery.bigquery_table_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.747332}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_view_options", "macro_sql": "{% macro bigquery_view_options(config, node) %}\n {% set opts = adapter.get_view_options(config, node) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7475681}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_view_as", "macro_sql": "{% macro bigquery__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {{ bigquery_view_options(config, model) }}\n as {{ sql }};\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.747885}, "macro.dbt_bigquery.bigquery__create_schema": {"unique_id": "macro.dbt_bigquery.bigquery__create_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/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": [], "created_at": 1650988409.748013}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.748137}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_relation", "macro_sql": "{% macro bigquery__drop_relation(relation) -%}\n {% call statement('drop_relation') -%}\n drop {{ relation.type }} if exists {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7483242}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.748467}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_relations_without_caching", "macro_sql": "{% macro bigquery__list_relations_without_caching(schema_relation) -%}\n {{ return(adapter.list_relations_without_caching(schema_relation)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.748606}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/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": [], "created_at": 1650988409.748675}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/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": [], "created_at": 1650988409.748906}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749054}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__check_schema_exists", "macro_sql": "{% macro bigquery__check_schema_exists(information_schema, schema) %}\n {{ return(adapter.check_schema_exists(information_schema.database, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749235}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__persist_docs", "macro_sql": "{% macro bigquery__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do alter_column_comment(relation, model.columns) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749523}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749686}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.749838}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_add_columns", "macro_sql": "{% macro bigquery__alter_relation_add_columns(relation, add_columns) %}\n \n {% set sql -%}\n \n alter {{ relation.type }} {{ relation }}\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}\n \n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.75023}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_drop_columns", "macro_sql": "{% macro bigquery__alter_relation_drop_columns(relation, drop_columns) %}\n \n {% set sql -%}\n \n alter {{ relation.type }} {{ relation }}\n\n {% for column in drop_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n \n {%- endset -%}\n \n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.750599}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_type", "macro_sql": "{% macro bigquery__alter_column_type(relation, column_name, new_column_type) -%}\n {#-- Changing a column's data type using a query requires you to scan the entire table.\n The query charges can be significant if the table is very large.\n\n https://cloud.google.com/bigquery/docs/manually-changing-schemas#changing_a_columns_data_type\n #}\n {% set relation_columns = get_columns_in_relation(relation) %}\n\n {% set sql %}\n select\n {%- for col in relation_columns -%}\n {% if col.column == column_name %}\n CAST({{ col.quoted }} AS {{ new_column_type }}) AS {{ col.quoted }}\n {%- else %}\n {{ col.quoted }}\n {%- endif %}\n {%- if not loop.last %},{% endif -%}\n {%- endfor %}\n from {{ relation }}\n {% endset %}\n\n {% call statement('alter_column_type') %}\n {{ create_table_as(False, relation, sql)}}\n {%- endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_columns_in_relation", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.751245}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__test_unique", "macro_sql": "{% macro bigquery__test_unique(model, column_name) %}\n\nwith dbt_test__target as (\n \n select {{ column_name }} as unique_field\n from {{ model }}\n where {{ column_name }} is not null\n \n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.751411}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\n -- no-op\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7517781}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__reset_csv_table", "macro_sql": "{% macro bigquery__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.751934}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__load_csv_rows", "macro_sql": "{% macro bigquery__load_csv_rows(model, agate_table) %}\n\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {{ adapter.load_dataframe(model['database'], model['schema'], model['alias'],\n \t\t\t\t\t\t\tagate_table, column_override) }}\n {% if config.persist_relation_docs() and 'description' in model %}\n\n \t{{ adapter.update_table_description(model['database'], model['schema'], model['alias'], model['description']) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.752529}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "bigquery__handle_existing_table", "macro_sql": "{% macro bigquery__handle_existing_table(full_refresh, old_relation) %}\n {%- if full_refresh -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- else -%}\n {{ exceptions.relation_wrong_type(old_relation, 'view') }}\n {%- endif -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.753093}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "materialization_view_bigquery", "macro_sql": "{% materialization view, adapter='bigquery' -%}\n {% set to_return = create_or_replace_view() %}\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": ["macro.dbt.create_or_replace_view", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.753678}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "materialization_table_bigquery", "macro_sql": "{% materialization table, adapter='bigquery' -%}\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\n {{ run_hooks(pre_hooks) }}\n\n {#\n We only need to drop this thing if it is not a table.\n If it _is_ already a table, then we can overwrite it without downtime\n Unlike table -> view, no need for `--full-refresh`: dropping a view is no big deal\n #}\n {%- if exists_not_as_table -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- endif -%}\n\n -- build model\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set partition_by = adapter.parse_partition_by(raw_partition_by) -%}\n {%- set cluster_by = config.get('cluster_by', none) -%}\n {% if not adapter.is_replaceable(old_relation, partition_by, cluster_by) %}\n {% do log(\"Hard refreshing \" ~ old_relation ~ \" because it is not replaceable\") %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n {% call statement('main') -%}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall -%}\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": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7555}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "materialization_copy_bigquery", "macro_sql": "{% materialization copy, adapter='bigquery' -%}\n\n {# Setup #}\n {{ run_hooks(pre_hooks) }}\n\n {% set destination = this.incorporate(type='table') %}\n\n {# there can be several ref() or source() according to BQ copy API docs #}\n {# cycle over ref() and source() to create source tables array #}\n {% set source_array = [] %}\n {% for ref_table in model.refs %}\n {{ source_array.append(ref(*ref_table)) }}\n {% endfor %}\n\n {% for src_table in model.sources %}\n {{ source_array.append(source(*src_table)) }}\n {% endfor %}\n\n {# Call adapter's copy_table function #}\n {%- set result_str = adapter.copy_table(\n source_array,\n destination,\n config.get('copy_materialization', default = 'table')) -%}\n\n {{ store_result('main', response=result_str) }}\n\n {# Clean up #}\n {{ run_hooks(post_hooks) }}\n {{ adapter.commit() }}\n\n {{ return({'relations': [destination]}) }}\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.75667}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, sql) %}\n\n {% if '_dbt_max_partition' in sql %}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\n \n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.758493}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "dbt_bigquery_validate_get_incremental_strategy", "macro_sql": "{% macro dbt_bigquery_validate_get_incremental_strategy(config) %}\n {#-- Find and validate the incremental strategy #}\n {%- set strategy = config.get(\"incremental_strategy\", 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": [], "created_at": 1650988409.758935}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\n\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate], include_sql_header=true) }}\n\n {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- endset -%}\n\n -- generated script to merge partitions into {{ target_relation }}\n declare dbt_partitions_for_replacement array<{{ partition_by.data_type }}>;\n\n {# have we already created the temp table to check for schema changes? #}\n {% if not tmp_relation_exists %}\n {{ declare_dbt_max_partition(this, partition_by, sql) }}\n \n -- 1. create a temp table\n {{ create_table_as(True, tmp_relation, sql) }}\n {% else %}\n -- 1. temp table already exists, we used it to check for schema changes\n {% endif %}\n\n -- 2. define partitions to update\n set (dbt_partitions_for_replacement) = (\n select as struct\n array_agg(distinct {{ partition_by.render() }})\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": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.760156}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_generate_incremental_build_sql", "macro_sql": "{% macro bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n {#-- if partitioned, use BQ scripting to get the range of partition values to be updated --#}\n {% if strategy == 'insert_overwrite' %}\n\n {% set missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, on_schema_change\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.760999}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "materialization_incremental_bigquery", "macro_sql": "{% materialization incremental, adapter='bigquery' -%}\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 {% set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') %}\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 \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 \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 \n {% else %}\n {% set tmp_relation_exists = false %}\n {% if on_schema_change != 'ignore' %} {# Check first, since otherwise we may not build a temp table #}\n {% do run_query(\n declare_dbt_max_partition(this, partition_by, sql) + create_table_as(True, tmp_relation, sql)\n ) %}\n {% set tmp_relation_exists = true %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, tmp_relation, existing_relation) %}\n {% endif %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n {% set build_sql = bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\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": ["macro.dbt.should_full_refresh", "macro.dbt.load_relation", "macro.dbt.make_temp_relation", "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.run_hooks", "macro.dbt.create_table_as", "macro.dbt.run_query", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.process_schema_changes", "macro.dbt_bigquery.bq_generate_incremental_build_sql", "macro.dbt.statement", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.763563}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__snapshot_hash_arguments", "macro_sql": "{% macro bigquery__snapshot_hash_arguments(args) -%}\n to_hex(md5(concat({%- for arg in args -%}\n coalesce(cast({{ arg }} as string), ''){% if not loop.last %}, '|',{% endif -%}\n {%- endfor -%}\n )))\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.764019}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.76417}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__post_snapshot", "macro_sql": "{% macro bigquery__post_snapshot(staging_relation) %}\n -- Clean up the snapshot temp table\n {% do drop_relation(staging_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.764297}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.765394}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7655869}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7657259}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.765863}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.766}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.766421}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.766717}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.767016}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.767488}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.767753}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.771041}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.77121}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.771424}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.771568}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7716632}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7723799}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.772547}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.77272}, "macro.dbt.snapshot_check_all_get_existing_columns": {"unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.773686}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.77557}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.7786481}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.778929}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.779095}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.779181}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.779381}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.780229}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.780416}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7806652}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.781085}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7868512}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.788914}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.789407}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.789711}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7901251}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.790507}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7913358}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.791876}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.792487}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.795167}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.796305}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.796541}, "macro.dbt.default__get_delete_insert_merge_sql": {"unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7969558}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7972212}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.7978492}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.798537}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.803311}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.807918}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.809119}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.810305}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.811019}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8146718}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.815148}, "macro.dbt.default__get_create_table_as_sql": {"unique_id": "macro.dbt.default__get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.815331}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.815531}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.815936}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.819475}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.819841}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.820065}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.821277}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8216908}, "macro.dbt.default__get_create_view_as_sql": {"unique_id": "macro.dbt.default__get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.821849}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.822032}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8222861}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.825093}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.828962}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.829844}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.830079}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.830555}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8307}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.830813}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.83097}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.831081}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.831546}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.831787}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.832979}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.83342}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.833645}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.834194}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.83445}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.834728}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8351738}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8354208}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.835816}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.836044}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8363378}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.836931}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8380458}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.838611}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.838899}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8406138}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.841856}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.842591}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8428211}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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_bigquery.bigquery__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8432372}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.843416}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.843572}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.843752}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8442419}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.844376}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8445282}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.844914}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.846463}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.846758}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8469381}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.847143}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.847321}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.847473}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8476732}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8479419}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.848185}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.848788}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.849015}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.849201}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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_utils.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8496928}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.849834}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.850056}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.850473}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.851191}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8513632}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.851573}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.851739}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.85202}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8525}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8539011}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.854155}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.854337}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.854484}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.854662}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8549}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.855106}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8554702}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.855652}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8558059}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8574731}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8576288}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.857931}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.858114}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.858449}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8586738}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.859261}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.859516}, "macro.dbt.default__alter_relation_add_remove_columns": {"unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8602839}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.860833}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8610728}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.8613608}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/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": 1650988409.861631}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8619342}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8620071}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8620741}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.862454}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.862613}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.862914}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8630998}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8638}, "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/jira/development/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": 1650988409.863873}, "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/jira/development/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": 1650988409.863942}, "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/jira/development/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": 1650988409.864011}, "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/jira/development/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": 1650988409.8640761}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.864235}, "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/jira/development/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": 1650988409.864304}, "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/jira/development/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": 1650988409.864374}, "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/jira/development/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": 1650988409.864438}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_float"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8645911}, "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/jira/development/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": 1650988409.864661}, "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/jira/development/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": 1650988409.864726}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.864882}, "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/jira/development/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": 1650988409.864952}, "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/jira/development/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": 1650988409.8650181}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.865172}, "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/jira/development/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": 1650988409.865243}, "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/jira/development/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": 1650988409.86531}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.865519}, "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/jira/development/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": 1650988409.865587}, "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/jira/development/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": 1650988409.8656561}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8661492}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.866496}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.866602}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.866699}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.867342}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.867501}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8676622}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.867815}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8680031}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.868315}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.868385}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.868455}, "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/jira/development/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.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.868841}, "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/jira/development/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": 1650988409.868989}, "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/jira/development/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": 1650988409.869118}, "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/jira/development/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": 1650988409.869251}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.869812}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.869945}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8700979}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.870313}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8724859}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8728771}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.873149}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.873533}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8744519}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.876905}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.877069}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8772218}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8789299}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8791308}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.879543}, "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/jira/development/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": 1650988409.87968}, "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/jira/development/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": 1650988409.8798022}, "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/jira/development/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": 1650988409.879925}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8802629}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.880401}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.880525}, "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/jira/development/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": 1650988409.880883}, "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/jira/development/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": 1650988409.8810189}, "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/jira/development/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": 1650988409.881141}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__identifier"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.881642}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8817449}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.881839}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8821719}, "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/jira/development/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": 1650988409.882272}, "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/jira/development/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": 1650988409.8823738}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.882777}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.882913}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.883043}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.883397}, "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/jira/development/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": 1650988409.883498}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.884065}, "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/jira/development/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": 1650988409.884175}, "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/jira/development/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": 1650988409.8842418}, "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/jira/development/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": 1650988409.884311}, "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/jira/development/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.default__current_timestamp_in_utc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.884465}, "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/jira/development/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": 1650988409.8845718}, "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/jira/development/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": 1650988409.884713}, "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/jira/development/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": 1650988409.8848221}, "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/jira/development/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": 1650988409.884949}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8863318}, "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/jira/development/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": 1650988409.886786}, "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/jira/development/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": 1650988409.887239}, "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/jira/development/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": 1650988409.887424}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8878112}, "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/jira/development/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": 1650988409.887914}, "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/jira/development/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": 1650988409.888011}, "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/jira/development/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": 1650988409.888107}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.888695}, "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/jira/development/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": 1650988409.889023}, "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/jira/development/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": 1650988409.889169}, "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/jira/development/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": 1650988409.88956}, "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/jira/development/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": 1650988409.889738}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.890201}, "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/jira/development/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": 1650988409.89036}, "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/jira/development/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 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": [], "created_at": 1650988409.890529}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.8909051}, "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/jira/development/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": 1650988409.8910332}, "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/jira/development/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": 1650988409.89116}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.8920162}, "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/jira/development/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": 1650988409.897506}, "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/jira/development/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": 1650988409.898011}, "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/jira/development/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": 1650988409.898325}, "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/jira/development/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": 1650988409.898813}, "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/jira/development/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": 1650988409.9039822}, "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/jira/development/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": 1650988409.904421}, "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/jira/development/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": 1650988409.9048982}, "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/jira/development/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": 1650988409.905418}, "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/jira/development/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": 1650988409.90606}, "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/jira/development/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": 1650988409.906424}, "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/jira/development/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": 1650988409.906739}, "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/jira/development/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": 1650988409.907299}, "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/jira/development/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": 1650988409.90752}, "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/jira/development/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": 1650988409.907949}, "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/jira/development/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": 1650988409.9082398}, "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/jira/development/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": 1650988409.9089239}, "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/jira/development/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": 1650988409.9092531}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.909697}, "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/jira/development/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": 1650988409.9100192}, "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/jira/development/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": 1650988409.9103842}, "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/jira/development/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": 1650988409.910553}, "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/jira/development/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": 1650988409.91118}, "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/jira/development/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": 1650988409.911691}, "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/jira/development/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": 1650988409.912271}, "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/jira/development/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": 1650988409.9126458}, "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/jira/development/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": 1650988409.913111}, "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/jira/development/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": 1650988409.913274}, "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/jira/development/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": 1650988409.913646}, "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/jira/development/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": 1650988409.9138181}, "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/jira/development/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": 1650988409.914451}, "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/jira/development/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": 1650988409.9150772}, "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/jira/development/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": 1650988409.915663}, "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/jira/development/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": 1650988409.915995}, "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/jira/development/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": 1650988409.916503}, "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/jira/development/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": 1650988409.91679}, "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/jira/development/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": 1650988409.917254}, "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/jira/development/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": 1650988409.9177668}, "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/jira/development/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": 1650988409.918446}, "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/jira/development/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": 1650988409.919107}, "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/jira/development/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": 1650988409.919565}, "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/jira/development/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": 1650988409.919733}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.92049}, "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/jira/development/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": 1650988409.921362}, "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/jira/development/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": 1650988409.924299}, "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/jira/development/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": 1650988409.925741}, "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/jira/development/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": 1650988409.926073}, "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/jira/development/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": 1650988409.926239}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9265652}, "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/jira/development/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": 1650988409.9267578}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.927063}, "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/jira/development/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": 1650988409.927231}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.927744}, "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/jira/development/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": 1650988409.928457}, "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/jira/development/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": 1650988409.929039}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.929269}, "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/jira/development/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": 1650988409.9296188}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9299788}, "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/jira/development/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": 1650988409.930381}, "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/jira/development/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": 1650988409.931075}, "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/jira/development/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": 1650988409.9319198}, "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/jira/development/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": 1650988409.9327512}, "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/jira/development/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": 1650988409.9331589}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.933345}, "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/jira/development/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": 1650988409.9338439}, "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/jira/development/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": 1650988409.934537}, "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/jira/development/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": 1650988409.935369}, "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/jira/development/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": 1650988409.9358249}, "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/jira/development/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": 1650988409.936109}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.936737}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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 {%- for col in dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\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\n {%- endfor -%}\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": 1650988409.937554}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.939244}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.941299}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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') -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name)) }}\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": 1650988409.943496}, "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/jira/development/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') -%}\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 {% 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\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": ["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": 1650988409.946253}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.946605}, "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/jira/development/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": 1650988409.946847}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "name": "deduplicate", "macro_sql": "{%- macro deduplicate(relation, group_by, order_by=none, relation_alias=none) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, group_by, order_by=order_by, relation_alias=relation_alias)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9475682}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n _inner.*,\n row_number() over (\n partition by {{ group_by }}\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n ) as rn\n from {{ relation if relation_alias is none else relation_alias }} as _inner\n ) as deduped\n where deduped.rn = 1\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.947955}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n array_agg (\n original\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n limit 1\n )[offset(0)] as deduped\n from {{ relation if relation_alias is none else relation_alias }} as original\n group by {{ group_by }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.948338}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9489548}, "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/jira/development/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": 1650988409.949864}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.950293}, "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/jira/development/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": 1650988409.9505699}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.95095}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.951277}, "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/jira/development/dbt_packages/dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "name": "get_tables_by_pattern_sql", "macro_sql": "{% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_pattern_sql', 'dbt_utils')\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.952754}, "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/jira/development/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": 1650988409.953024}, "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/jira/development/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": 1650988409.953726}, "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/jira/development/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": 1650988409.95428}, "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/jira/development/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) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default)) }}\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": 1650988409.955246}, "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/jira/development/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) -%}\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 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": 1650988409.956627}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9576802}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.958503}, "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/jira/development/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": 1650988409.959009}, "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/jira/development/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": 1650988409.9597282}, "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/jira/development/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": 1650988409.96016}, "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/jira/development/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": 1650988409.960741}, "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/jira/development/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.bigquery__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.96124}, "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/jira/development/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": 1650988409.961323}, "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/jira/development/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": 1650988409.961406}, "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/jira/development/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": 1650988409.961482}, "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/jira/development/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": 1650988409.962506}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "name": "haversine_distance", "macro_sql": "{% macro haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n {{ return(adapter.dispatch('haversine_distance', 'dbt_utils')(lat1,lon1,lat2,lon2,unit)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.962781}, "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/jira/development/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": 1650988409.963756}, "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/jira/development/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": 1650988409.964601}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.965051}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "name": "percentile", "macro_sql": "{% macro percentile(percentile_field, partition_field, percent) -%}\n\n{{ adapter.dispatch('percentile', 'fivetran_utils') (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.96596}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.966122}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9662778}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.966434}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.966568}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.96672}, "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/jira/development/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": 1650988409.9671848}, "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/jira/development/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": 1650988409.9676201}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "name": "json_parse", "macro_sql": "{% macro json_parse(string, string_path) -%}\n\n{{ adapter.dispatch('json_parse', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9686668}, "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/jira/development/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": 1650988409.96891}, "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/jira/development/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": 1650988409.9691489}, "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/jira/development/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": 1650988409.969378}, "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/jira/development/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": 1650988409.9696078}, "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/jira/development/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": 1650988409.969867}, "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/jira/development/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": 1650988409.970122}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "name": "max_bool", "macro_sql": "{% macro max_bool(boolean_field) -%}\n\n{{ adapter.dispatch('max_bool', 'fivetran_utils') (boolean_field) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.970496}, "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/jira/development/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": 1650988409.970593}, "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/jira/development/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": 1650988409.970688}, "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/jira/development/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": 1650988409.970848}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.971264}, "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/jira/development/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": 1650988409.97188}, "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/jira/development/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": 1650988409.972524}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9730282}, "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/jira/development/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": 1650988409.9731588}, "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/jira/development/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": 1650988409.9732852}, "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/jira/development/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": 1650988409.973408}, "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/jira/development/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": 1650988409.97354}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "name": "timestamp_diff", "macro_sql": "{% macro timestamp_diff(first_date, second_date, datepart) %}\n {{ adapter.dispatch('timestamp_diff', 'fivetran_utils')(first_date, second_date, datepart) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9762151}, "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/jira/development/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": 1650988409.976375}, "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/jira/development/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": 1650988409.976528}, "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/jira/development/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": 1650988409.97668}, "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/jira/development/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": 1650988409.978431}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "name": "try_cast", "macro_sql": "{% macro try_cast(field, type) %}\n {{ adapter.dispatch('try_cast', 'fivetran_utils') (field, type) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.979264}, "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/jira/development/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": 1650988409.9794009}, "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/jira/development/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": 1650988409.979668}, "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/jira/development/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": 1650988409.9799428}, "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/jira/development/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({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9800682}, "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/jira/development/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": 1650988409.9801862}, "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/jira/development/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": 1650988409.980306}, "macro.fivetran_utils.generate_docs": {"unique_id": "macro.fivetran_utils.generate_docs", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/generate_docs.sql", "original_file_path": "macros/generate_docs.sql", "name": "generate_docs", "macro_sql": "{% macro generate_docs(package) %}\n\n{% set package = \"\"~ package ~\"\" %}\n\n{% set zsh_command = \"source dbt_packages/fivetran_utils/generate_docs.sh '../dbt_\"\"\"~ package ~\"\"\"\"+\"'\" %}\n\n{{ log (zsh_command, info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.980714}, "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/jira/development/dbt_packages/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": ["macro.fivetran_utils.get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9821172}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.982645}, "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/jira/development/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": 1650988409.983211}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9837499}, "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/jira/development/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": 1650988409.983947}, "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/jira/development/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": 1650988409.984166}, "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/jira/development/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": 1650988409.984472}, "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/jira/development/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": 1650988409.9853811}, "macro.fivetran_utils.staging_models_automation": {"unique_id": "macro.fivetran_utils.staging_models_automation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/staging_models_automation.sql", "original_file_path": "macros/staging_models_automation.sql", "name": "staging_models_automation", "macro_sql": "{% macro staging_models_automation(package, source_schema, source_database, tables) %}\n\n{% set package = \"\"~ package ~\"\" %}\n{% set source_schema = \"\"~ source_schema ~\"\" %}\n{% set source_database = \"\"~ source_database ~\"\" %}\n\n{% set zsh_command_columns = \"source dbt_packages/fivetran_utils/generate_columns.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n{% set zsh_command_models = \"source dbt_packages/fivetran_utils/generate_models.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n\n{%- set columns_array = [] -%}\n{%- set models_array = [] -%}\n\n{% for t in tables %}\n {% set help_command = zsh_command_columns + t %}\n {{ columns_array.append(help_command) }}\n\n {% set help_command = zsh_command_models + t %}\n {{ models_array.append(help_command) }}\n\n{% endfor %}\n\n{{ log(columns_array|join(' && \\n') + ' && \\n' + models_array|join(' && \\n'), info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.986742}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9905438}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.9908988}, "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/jira/development/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": 1650988409.991329}, "macro.fivetran_utils.default__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.default__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "default__get_columns_for_macro", "macro_sql": "{% macro default__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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.992403}, "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/jira/development/dbt_packages/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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.992857}, "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/jira/development/dbt_packages/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": ["macro.fivetran_utils.bigquery__get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.9930649}, "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/jira/development/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": 1650988409.99457}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.995105}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "name": "json_extract", "macro_sql": "{% macro json_extract(string, string_path) -%}\n\n{{ adapter.dispatch('json_extract', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.995691}, "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/jira/development/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": 1650988409.9958432}, "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/jira/development/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": 1650988409.995989}, "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/jira/development/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": 1650988409.9961548}, "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/jira/development/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": 1650988409.9963038}, "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/jira/development/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": 1650988409.99645}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.997174}, "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/jira/development/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": 1650988409.998192}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "name": "timestamp_add", "macro_sql": "{% macro timestamp_add(datepart, interval, from_timestamp) -%}\n\n{{ adapter.dispatch('timestamp_add', 'fivetran_utils') (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988409.998903}, "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/jira/development/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": 1650988409.9990652}, "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/jira/development/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": 1650988409.99922}, "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/jira/development/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": 1650988409.999375}, "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/jira/development/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": 1650988409.999525}, "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/jira/development/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": 1650988409.999697}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988409.999997}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.000098}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.000191}, "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/jira/development/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": 1650988410.000866}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.002064}, "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/jira/development/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": 1650988410.003947}, "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/jira/development/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": 1650988410.0053718}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/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": 1650988410.005692}, "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/jira/development/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": 1650988410.005793}, "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/jira/development/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": 1650988410.005888}, "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/jira/development/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": 1650988410.006331}, "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/jira/development/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": 1650988410.006769}, "macro.jira_source.get_issue_link_columns": {"unique_id": "macro.jira_source.get_issue_link_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_link_columns.sql", "original_file_path": "macros/get_issue_link_columns.sql", "name": "get_issue_link_columns", "macro_sql": "{% macro get_issue_link_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"related_issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"relationship\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.007406}, "macro.jira_source.get_issue_columns": {"unique_id": "macro.jira_source.get_issue_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_columns.sql", "original_file_path": "macros/get_issue_columns.sql", "name": "get_issue_columns", "macro_sql": "{% macro get_issue_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"_original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"assignee\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creator\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"environment\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"issue_type\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n\n {\"name\": \"original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"priority\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reporter\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"resolution\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"resolved\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status_category_changed\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"updated\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"work_ratio\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_float", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.010536}, "macro.jira_source.get_status_columns": {"unique_id": "macro.jira_source.get_status_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_status_columns.sql", "original_file_path": "macros/get_status_columns.sql", "name": "get_status_columns", "macro_sql": "{% macro get_status_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.011274}, "macro.jira_source.get_status_category_columns": {"unique_id": "macro.jira_source.get_status_category_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_status_category_columns.sql", "original_file_path": "macros/get_status_category_columns.sql", "name": "get_status_category_columns", "macro_sql": "{% macro get_status_category_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.01181}, "macro.jira_source.get_issue_field_history_columns": {"unique_id": "macro.jira_source.get_issue_field_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_field_history_columns.sql", "original_file_path": "macros/get_issue_field_history_columns.sql", "name": "get_issue_field_history_columns", "macro_sql": "{% macro get_issue_field_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1650988410.0130932}, "macro.jira_source.get_comment_columns": {"unique_id": "macro.jira_source.get_comment_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_comment_columns.sql", "original_file_path": "macros/get_comment_columns.sql", "name": "get_comment_columns", "macro_sql": "{% macro get_comment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"body\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"is_public\", \"datatype\": \"boolean\"},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"update_author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated\", \"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", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.014198}, "macro.jira_source.get_field_columns": {"unique_id": "macro.jira_source.get_field_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_field_columns.sql", "original_file_path": "macros/get_field_columns.sql", "name": "get_field_columns", "macro_sql": "{% macro get_field_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_array\", \"datatype\": \"boolean\"},\n {\"name\": \"is_custom\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.0149062}, "macro.jira_source.get_version_columns": {"unique_id": "macro.jira_source.get_version_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_version_columns.sql", "original_file_path": "macros/get_version_columns.sql", "name": "get_version_columns", "macro_sql": "{% macro get_version_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"overdue\", \"datatype\": \"boolean\"},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"release_date\", \"datatype\": \"date\"},\n {\"name\": \"released\", \"datatype\": \"boolean\"},\n {\"name\": \"start_date\", \"datatype\": \"date\"}\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": 1650988410.016031}, "macro.jira_source.get_field_option_columns": {"unique_id": "macro.jira_source.get_field_option_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_field_option_columns.sql", "original_file_path": "macros/get_field_option_columns.sql", "name": "get_field_option_columns", "macro_sql": "{% macro get_field_option_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.016597}, "macro.jira_source.get_issue_multiselect_history_columns": {"unique_id": "macro.jira_source.get_issue_multiselect_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_multiselect_history_columns.sql", "original_file_path": "macros/get_issue_multiselect_history_columns.sql", "name": "get_issue_multiselect_history_columns", "macro_sql": "{% macro get_issue_multiselect_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\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1650988410.017986}, "macro.jira_source.get_epic_columns": {"unique_id": "macro.jira_source.get_epic_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_epic_columns.sql", "original_file_path": "macros/get_epic_columns.sql", "name": "get_epic_columns", "macro_sql": "{% macro get_epic_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"done\", \"datatype\": \"boolean\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.021306}, "macro.jira_source.get_issue_type_columns": {"unique_id": "macro.jira_source.get_issue_type_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_issue_type_columns.sql", "original_file_path": "macros/get_issue_type_columns.sql", "name": "get_issue_type_columns", "macro_sql": "{% macro get_issue_type_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"subtask\", \"datatype\": \"boolean\"}\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": 1650988410.022073}, "macro.jira_source.get_user_columns": {"unique_id": "macro.jira_source.get_user_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_user_columns.sql", "original_file_path": "macros/get_user_columns.sql", "name": "get_user_columns", "macro_sql": "{% macro get_user_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"email\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"locale\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"username\", \"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": 1650988410.023797}, "macro.jira_source.get_project_columns": {"unique_id": "macro.jira_source.get_project_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_project_columns.sql", "original_file_path": "macros/get_project_columns.sql", "name": "get_project_columns", "macro_sql": "{% macro get_project_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"lead_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"permission_scheme_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.024819}, "macro.jira_source.get_resolution_columns": {"unique_id": "macro.jira_source.get_resolution_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_resolution_columns.sql", "original_file_path": "macros/get_resolution_columns.sql", "name": "get_resolution_columns", "macro_sql": "{% macro get_resolution_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.025784}, "macro.jira_source.get_component_columns": {"unique_id": "macro.jira_source.get_component_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_component_columns.sql", "original_file_path": "macros/get_component_columns.sql", "name": "get_component_columns", "macro_sql": "{% macro get_component_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.026515}, "macro.jira_source.get_priority_columns": {"unique_id": "macro.jira_source.get_priority_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_priority_columns.sql", "original_file_path": "macros/get_priority_columns.sql", "name": "get_priority_columns", "macro_sql": "{% macro get_priority_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.027149}, "macro.jira_source.get_sprint_columns": {"unique_id": "macro.jira_source.get_sprint_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/development/dbt_packages/jira_source", "path": "macros/get_sprint_columns.sql", "original_file_path": "macros/get_sprint_columns.sql", "name": "get_sprint_columns", "macro_sql": "{% macro get_sprint_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"board_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"complete_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_date\", \"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_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1650988410.028117}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.0.0_3/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "overview.md", "original_file_path": "docs/overview.md", "name": "__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"model.jira_source.stg_jira__comment": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"], "model.jira_source.stg_jira__project": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"], "model.jira_source.stg_jira__issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"], "model.jira_source.stg_jira__version": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"], "model.jira_source.stg_jira__sprint": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"], "model.jira_source.stg_jira__field_option": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"], "model.jira_source.stg_jira__field": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"], "model.jira_source.stg_jira__resolution": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"], "model.jira_source.stg_jira__status": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"], "model.jira_source.stg_jira__issue": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"], "model.jira_source.stg_jira__status_category": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"], "model.jira_source.stg_jira__issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"], "model.jira_source.stg_jira__issue_type": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"], "model.jira_source.stg_jira__issue_link": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"], "model.jira_source.stg_jira__component": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"], "model.jira_source.stg_jira__user": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"], "model.jira_source.stg_jira__priority": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"], "model.jira_source.stg_jira__version_tmp": ["source.jira_source.jira.version"], "model.jira_source.stg_jira__status_category_tmp": ["source.jira_source.jira.status_category"], "model.jira_source.stg_jira__field_option_tmp": ["source.jira_source.jira.field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["source.jira_source.jira.issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["source.jira_source.jira.issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["source.jira_source.jira.sprint"], "model.jira_source.stg_jira__status_tmp": ["source.jira_source.jira.status"], "model.jira_source.stg_jira__project_tmp": ["source.jira_source.jira.project"], "model.jira_source.stg_jira__comment_tmp": ["source.jira_source.jira.comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["source.jira_source.jira.issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["source.jira_source.jira.issue_link"], "model.jira_source.stg_jira__field_tmp": ["source.jira_source.jira.field"], "model.jira_source.stg_jira__user_tmp": ["source.jira_source.jira.user"], "model.jira_source.stg_jira__issue_tmp": ["source.jira_source.jira.issue"], "model.jira_source.stg_jira__priority_tmp": ["source.jira_source.jira.priority"], "model.jira_source.stg_jira__component_tmp": ["source.jira_source.jira.component"], "model.jira_source.stg_jira__resolution_tmp": ["source.jira_source.jira.resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": ["model.jira_source.stg_jira__comment"], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": ["model.jira_source.stg_jira__comment"], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": ["model.jira_source.stg_jira__component"], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": ["model.jira_source.stg_jira__component"], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": ["model.jira_source.stg_jira__field_option"], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": ["model.jira_source.stg_jira__issue"], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": ["model.jira_source.stg_jira__issue"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": ["model.jira_source.stg_jira__issue_field_history"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": ["model.jira_source.stg_jira__issue_multiselect_history"], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": ["model.jira_source.stg_jira__priority"], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": ["model.jira_source.stg_jira__priority"], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": ["model.jira_source.stg_jira__project"], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": ["model.jira_source.stg_jira__project"], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": ["model.jira_source.stg_jira__resolution"], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": ["model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": ["model.jira_source.stg_jira__sprint"], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": ["model.jira_source.stg_jira__sprint"], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": ["model.jira_source.stg_jira__status"], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": ["model.jira_source.stg_jira__status"], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": ["model.jira_source.stg_jira__status_category"], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": ["model.jira_source.stg_jira__status_category"], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": ["model.jira_source.stg_jira__user"], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": ["model.jira_source.stg_jira__user"], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": ["model.jira_source.stg_jira__version"], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": ["model.jira_source.stg_jira__version"], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}, "child_map": {"model.jira_source.stg_jira__comment": ["test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"], "model.jira_source.stg_jira__project": ["test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "test.jira_source.unique_stg_jira__project_project_id.58d321d374"], "model.jira_source.stg_jira__issue_field_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"], "model.jira_source.stg_jira__version": ["test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "test.jira_source.unique_stg_jira__version_version_id.08231bd017"], "model.jira_source.stg_jira__sprint": ["test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"], "model.jira_source.stg_jira__field_option": ["test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"], "model.jira_source.stg_jira__field": ["test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"], "model.jira_source.stg_jira__resolution": ["test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"], "model.jira_source.stg_jira__status": ["test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "test.jira_source.unique_stg_jira__status_status_id.0449241b95"], "model.jira_source.stg_jira__issue": ["test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"], "model.jira_source.stg_jira__status_category": ["test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"], "model.jira_source.stg_jira__issue_multiselect_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"], "model.jira_source.stg_jira__issue_type": ["test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"], "model.jira_source.stg_jira__issue_link": [], "model.jira_source.stg_jira__component": ["test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"], "model.jira_source.stg_jira__user": ["test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"], "model.jira_source.stg_jira__priority": ["test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"], "model.jira_source.stg_jira__version_tmp": ["model.jira_source.stg_jira__version", "model.jira_source.stg_jira__version"], "model.jira_source.stg_jira__status_category_tmp": ["model.jira_source.stg_jira__status_category", "model.jira_source.stg_jira__status_category"], "model.jira_source.stg_jira__field_option_tmp": ["model.jira_source.stg_jira__field_option", "model.jira_source.stg_jira__field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["model.jira_source.stg_jira__issue_multiselect_history", "model.jira_source.stg_jira__issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["model.jira_source.stg_jira__issue_type", "model.jira_source.stg_jira__issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["model.jira_source.stg_jira__sprint", "model.jira_source.stg_jira__sprint"], "model.jira_source.stg_jira__status_tmp": ["model.jira_source.stg_jira__status", "model.jira_source.stg_jira__status"], "model.jira_source.stg_jira__project_tmp": ["model.jira_source.stg_jira__project", "model.jira_source.stg_jira__project"], "model.jira_source.stg_jira__comment_tmp": ["model.jira_source.stg_jira__comment", "model.jira_source.stg_jira__comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["model.jira_source.stg_jira__issue_field_history", "model.jira_source.stg_jira__issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["model.jira_source.stg_jira__issue_link", "model.jira_source.stg_jira__issue_link"], "model.jira_source.stg_jira__field_tmp": ["model.jira_source.stg_jira__field", "model.jira_source.stg_jira__field"], "model.jira_source.stg_jira__user_tmp": ["model.jira_source.stg_jira__user", "model.jira_source.stg_jira__user"], "model.jira_source.stg_jira__issue_tmp": ["model.jira_source.stg_jira__issue", "model.jira_source.stg_jira__issue"], "model.jira_source.stg_jira__priority_tmp": ["model.jira_source.stg_jira__priority", "model.jira_source.stg_jira__priority"], "model.jira_source.stg_jira__component_tmp": ["model.jira_source.stg_jira__component", "model.jira_source.stg_jira__component"], "model.jira_source.stg_jira__resolution_tmp": ["model.jira_source.stg_jira__resolution", "model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": [], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": [], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": [], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": [], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": [], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": [], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": [], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": [], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": [], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": [], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": [], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": [], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": [], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": [], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": [], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": [], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": [], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": [], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": [], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": [], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": [], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": [], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": [], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": [], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": [], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": [], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": [], "source.jira_source.jira.comment": ["model.jira_source.stg_jira__comment_tmp"], "source.jira_source.jira.component": ["model.jira_source.stg_jira__component_tmp"], "source.jira_source.jira.field": ["model.jira_source.stg_jira__field_tmp"], "source.jira_source.jira.field_option": ["model.jira_source.stg_jira__field_option_tmp"], "source.jira_source.jira.issue": ["model.jira_source.stg_jira__issue_tmp"], "source.jira_source.jira.issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp"], "source.jira_source.jira.issue_link": ["model.jira_source.stg_jira__issue_link_tmp"], "source.jira_source.jira.issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp"], "source.jira_source.jira.issue_type": ["model.jira_source.stg_jira__issue_type_tmp"], "source.jira_source.jira.priority": ["model.jira_source.stg_jira__priority_tmp"], "source.jira_source.jira.project": ["model.jira_source.stg_jira__project_tmp"], "source.jira_source.jira.resolution": ["model.jira_source.stg_jira__resolution_tmp"], "source.jira_source.jira.sprint": ["model.jira_source.stg_jira__sprint_tmp"], "source.jira_source.jira.status": ["model.jira_source.stg_jira__status_tmp"], "source.jira_source.jira.status_category": ["model.jira_source.stg_jira__status_category_tmp"], "source.jira_source.jira.user": ["model.jira_source.stg_jira__user_tmp"], "source.jira_source.jira.version": ["model.jira_source.stg_jira__version_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v5.json", "dbt_version": "1.1.0", "generated_at": "2022-04-29T20:18:40.432565Z", "invocation_id": "1f852ed9-2958-4c39-aa44-26188a09128e", "env": {}, "project_id": "f8f23f95e595b2cd2ad26844aa066679", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.jira_source_integration_tests.issue_link": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_link"], "unique_id": "seed.jira_source_integration_tests.issue_link", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_link.csv", "original_file_path": "seeds/issue_link.csv", "name": "issue_link", "alias": "issue_link", "checksum": {"name": "sha256", "checksum": "5d31489970cb5d0c119af37bb32e993cad93f07c07de382dffec4e43846a65e3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.059423, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_link`"}, "seed.jira_source_integration_tests.issue_type": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_type"], "unique_id": "seed.jira_source_integration_tests.issue_type", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_type.csv", "original_file_path": "seeds/issue_type.csv", "name": "issue_type", "alias": "issue_type", "checksum": {"name": "sha256", "checksum": "79281a86f92794b477aa2b1c9578ba012fedc4415592051972b35fc0f173a01b"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.064779, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_type`"}, "seed.jira_source_integration_tests.project_board": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "project_board"], "unique_id": "seed.jira_source_integration_tests.project_board", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project_board.csv", "original_file_path": "seeds/project_board.csv", "name": "project_board", "alias": "project_board", "checksum": {"name": "sha256", "checksum": "04f1ff6543a5214207218e40e7e1664555ccb512d76ba5e14c2ecc42bb9644ad"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.065697, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`project_board`"}, "seed.jira_source_integration_tests.resolution": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "resolution"], "unique_id": "seed.jira_source_integration_tests.resolution", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "resolution.csv", "original_file_path": "seeds/resolution.csv", "name": "resolution", "alias": "resolution", "checksum": {"name": "sha256", "checksum": "531ee2fe6400e78041d7573ccf989aa9b9e3e43aad8cd701b7c3e25fd653cc90"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.066599, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`resolution`"}, "seed.jira_source_integration_tests.version": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "version"], "unique_id": "seed.jira_source_integration_tests.version", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "version.csv", "original_file_path": "seeds/version.csv", "name": "version", "alias": "version", "checksum": {"name": "sha256", "checksum": "bf33e0bb428925e76d6c321ab89507798cd959a1eac7969d91f5e4f0836bee99"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.067472, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`version`"}, "seed.jira_source_integration_tests.status": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "status"], "unique_id": "seed.jira_source_integration_tests.status", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "status.csv", "original_file_path": "seeds/status.csv", "name": "status", "alias": "status", "checksum": {"name": "sha256", "checksum": "8a8c0167d920ede6bfabc65b7222e8d7dd8a89980300ea94b2f3b73c0a5fd645"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.068435, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`status`"}, "seed.jira_source_integration_tests.user_group": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "user_group"], "unique_id": "seed.jira_source_integration_tests.user_group", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "user_group.csv", "original_file_path": "seeds/user_group.csv", "name": "user_group", "alias": "user_group", "checksum": {"name": "sha256", "checksum": "d4f0f807391428848ccbed1222b3a257ec19268893a4bd5bb99232636bf1d105"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.069312, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`user_group`"}, "seed.jira_source_integration_tests.component": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "project_id": "int64"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "component"], "unique_id": "seed.jira_source_integration_tests.component", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "component.csv", "original_file_path": "seeds/component.csv", "name": "component", "alias": "component", "checksum": {"name": "sha256", "checksum": "4488ce1f19d7cba2e11b81d79de180b955e52ec4028dd5e3061f6d8866919a2a"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "project_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1651263521.0702112, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`component`"}, "seed.jira_source_integration_tests.project": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "project"], "unique_id": "seed.jira_source_integration_tests.project", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project.csv", "original_file_path": "seeds/project.csv", "name": "project", "alias": "project", "checksum": {"name": "sha256", "checksum": "fd8986c9b9a2eaecbe37500e7f5c7529b959dfe2422bf2d662754e292d53c134"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.0711439, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`project`"}, "seed.jira_source_integration_tests.issue_multiselect_history": {"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": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "int64", "value": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_multiselect_history"], "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_multiselect_history.csv", "original_file_path": "seeds/issue_multiselect_history.csv", "name": "issue_multiselect_history", "alias": "issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "266af0ef486fec0a6db9679d2dd4d15ecba43bff757867eb5de674c8e6257b81"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.0723882, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_multiselect_history`"}, "seed.jira_source_integration_tests.comment": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "created": "timestamp", "issue_id": "int64", "updated": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "comment"], "unique_id": "seed.jira_source_integration_tests.comment", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "comment.csv", "original_file_path": "seeds/comment.csv", "name": "comment", "alias": "comment", "checksum": {"name": "sha256", "checksum": "d3e7dc573cc229747d3a0097e90324be44bd7633336d7d854af579637cd65963"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "updated": "timestamp"}}, "created_at": 1651263521.073326, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`comment`"}, "seed.jira_source_integration_tests.issue": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue"], "unique_id": "seed.jira_source_integration_tests.issue", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue.csv", "original_file_path": "seeds/issue.csv", "name": "issue", "alias": "issue", "checksum": {"name": "sha256", "checksum": "4e6858da36f851a3d93127b8cf4d43dbe8114e13aeb5c841bd8c7d4cbcb425fc"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.07425, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue`"}, "seed.jira_source_integration_tests.sprint": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "sprint"], "unique_id": "seed.jira_source_integration_tests.sprint", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "sprint.csv", "original_file_path": "seeds/sprint.csv", "name": "sprint", "alias": "sprint", "checksum": {"name": "sha256", "checksum": "919fd64d33b7c2a55fdcd3bb30eb19030dff6825b7c651867ad17512407df873"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}}, "created_at": 1651263521.075159, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`sprint`"}, "seed.jira_source_integration_tests.field_option": {"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": {"_fivetran_synced": "timestamp", "id": "int64"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "field_option"], "unique_id": "seed.jira_source_integration_tests.field_option", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "field_option.csv", "original_file_path": "seeds/field_option.csv", "name": "field_option", "alias": "field_option", "checksum": {"name": "sha256", "checksum": "7098765ca05d57eb72a62dbf8a73dec47359a14fe74d4438a5f8ac0b43b84fb5"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1651263521.0760791, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`field_option`"}, "seed.jira_source_integration_tests.epic": {"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": {"_fivetran_synced": "timestamp", "id": "int64"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "epic"], "unique_id": "seed.jira_source_integration_tests.epic", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "epic.csv", "original_file_path": "seeds/epic.csv", "name": "epic", "alias": "epic", "checksum": {"name": "sha256", "checksum": "c0330c18dbeb3ba527c84e3625f7ce51994d90296970a0f03cd7bf74dd37b68e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1651263521.07708, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`epic`"}, "seed.jira_source_integration_tests.field": {"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": {"_fivetran_synced": "timestamp", "id": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "field"], "unique_id": "seed.jira_source_integration_tests.field", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "field.csv", "original_file_path": "seeds/field.csv", "name": "field", "alias": "field", "checksum": {"name": "sha256", "checksum": "1a1bf85a3609dae9208a40cdb353b710125668595523093b4c36109b2f99aa07"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.0780091, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`field`"}, "seed.jira_source_integration_tests.user": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "user"], "unique_id": "seed.jira_source_integration_tests.user", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "user.csv", "original_file_path": "seeds/user.csv", "name": "user", "alias": "user", "checksum": {"name": "sha256", "checksum": "09b765c18fcde1e10c80196dc6b38d635fa6ce1361ba31aa2b2da75f447951ab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.078913, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`user`"}, "seed.jira_source_integration_tests.priority": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "priority"], "unique_id": "seed.jira_source_integration_tests.priority", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "priority.csv", "original_file_path": "seeds/priority.csv", "name": "priority", "alias": "priority", "checksum": {"name": "sha256", "checksum": "c64e8f0963669242bf6355d5658bef9bacea31c4ee9378d970965b4cef06c691"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.079793, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`priority`"}, "seed.jira_source_integration_tests.status_category": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "status_category"], "unique_id": "seed.jira_source_integration_tests.status_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "status_category.csv", "original_file_path": "seeds/status_category.csv", "name": "status_category", "alias": "status_category", "checksum": {"name": "sha256", "checksum": "b70923cd595a54c3e64fe588783062ca1115e9055dbe63329c203fcb3c14b1c3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.0807629, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`status_category`"}, "seed.jira_source_integration_tests.issue_field_history": {"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": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "int64", "value": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_field_history"], "unique_id": "seed.jira_source_integration_tests.issue_field_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_field_history.csv", "original_file_path": "seeds/issue_field_history.csv", "name": "issue_field_history", "alias": "issue_field_history", "checksum": {"name": "sha256", "checksum": "3cbf9808964cb92833f78327f878bd6fc174784bcdb1630d8a56959fdf7e1f9c"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.081681, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_field_history`"}, "seed.jira_source_integration_tests.project_category": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "project_category"], "unique_id": "seed.jira_source_integration_tests.project_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project_category.csv", "original_file_path": "seeds/project_category.csv", "name": "project_category", "alias": "project_category", "checksum": {"name": "sha256", "checksum": "0420d8a815583af92a68a51fa4b46d3081a33aa8c2d6649d7f52065721a0301d"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.0825658, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`project_category`"}, "model.jira_source.stg_jira__comment": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__comment_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_jira__comment_tmp')),\n staging_columns=get_comment_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n cast(created as {{ dbt_utils.type_timestamp() }}) as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n cast(updated as {{ dbt_utils.type_timestamp() }}) as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_comment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__comment"], "unique_id": "model.jira_source.stg_jira__comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__comment.sql", "original_file_path": "models/stg_jira__comment.sql", "name": "stg_jira__comment", "alias": "stg_jira__comment", "checksum": {"name": "sha256", "checksum": "7e029c5a1c0c52422024b8b556ae4d00c74d2775ecc2c58a8dda0e62e399d854"}, "tags": [], "refs": [["stg_jira__comment_tmp"], ["stg_jira__comment_tmp"]], "sources": [], "description": "Table of comments made on issues.", "columns": {"comment_id": {"name": "comment_id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_user_id": {"name": "author_user_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the comment was created. TODO - get timezone clarification", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_update_user_id": {"name": "last_update_user_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_updated_at": {"name": "last_updated_at", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__comment.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.267812, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n author_id\n \n , \n cast(null as \n string\n) as \n \n body\n \n , \n cast(null as \n timestamp\n) as \n \n created\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as boolean) as \n \n is_public\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n string\n) as \n \n update_author_id\n \n , \n cast(null as \n timestamp\n) as \n \n updated\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n cast(created as \n timestamp\n) as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n cast(updated as \n timestamp\n) as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment`"}, "model.jira_source.stg_jira__project": {"raw_sql": "with base as (\n \n select *\n from {{ ref('stg_jira__project_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_jira__project_tmp')),\n staging_columns=get_project_columns()\n )\n }}\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_project_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__project"], "unique_id": "model.jira_source.stg_jira__project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__project.sql", "original_file_path": "models/stg_jira__project.sql", "name": "stg_jira__project", "alias": "stg_jira__project", "checksum": {"name": "sha256", "checksum": "b79355d418e10ba5291f50718372e85750c439981b28e786fd401fe7d51bd6fb"}, "tags": [], "refs": [["stg_jira__project_tmp"], ["stg_jira__project_tmp"]], "sources": [], "description": "Table of all projects in your organization.", "columns": {"project_id": {"name": "project_id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_description": {"name": "project_description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_key": {"name": "project_key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_lead_user_id": {"name": "project_lead_user_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_name": {"name": "project_name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__project.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2778308, "compiled_sql": "with base as (\n \n select *\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n key\n \n , \n cast(null as \n string\n) as \n \n lead_id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n int64\n) as \n \n permission_scheme_id\n \n , \n cast(null as \n int64\n) as \n \n project_category_id\n \n \n\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project`"}, "model.jira_source.stg_jira__issue_field_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_field_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_jira__issue_field_history_tmp')),\n staging_columns=get_issue_field_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' -%}\n cast(\"TIME\" as {{ dbt_utils.type_timestamp() }})\n {% elif target.type == 'redshift' -%}\n cast(\"time\" as {{ dbt_utils.type_timestamp() }})\n {% else -%}\n cast(time as {{ dbt_utils.type_timestamp() }})\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_field_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_field_history"], "unique_id": "model.jira_source.stg_jira__issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_field_history.sql", "original_file_path": "models/stg_jira__issue_field_history.sql", "name": "stg_jira__issue_field_history", "alias": "stg_jira__issue_field_history", "checksum": {"name": "sha256", "checksum": "9994da4b11053a63d4f20c0f85dd5aafbb13af04dc0759f7497697979e67b958"}, "tags": [], "refs": [["stg_jira__issue_field_history_tmp"], ["stg_jira__issue_field_history_tmp"]], "sources": [], "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_field_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.274475, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n field_id\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n string\n) as \n \n value\n \n , \n cast(null as \n timestamp\n) as \n \n time\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as \n string\n) as field_id,\n issue_id,\n cast(time as \n timestamp\n)\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history`"}, "model.jira_source.stg_jira__version": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__version_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_jira__version_tmp')),\n staging_columns=get_version_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n cast(release_date as {{ dbt_utils.type_timestamp() }}) as release_date,\n released as is_released,\n cast(start_date as {{ dbt_utils.type_timestamp() }}) as start_date\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_version_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__version"], "unique_id": "model.jira_source.stg_jira__version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__version.sql", "original_file_path": "models/stg_jira__version.sql", "name": "stg_jira__version", "alias": "stg_jira__version", "checksum": {"name": "sha256", "checksum": "8fc176416dc472dcc7b32386472384590d426f399fe034616c97f111701fbe4a"}, "tags": [], "refs": [["stg_jira__version_tmp"], ["stg_jira__version_tmp"]], "sources": [], "description": "Table of project versions in your organization.", "columns": {"is_archived": {"name": "is_archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_name": {"name": "version_name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_released": {"name": "is_released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__version.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2831738, "compiled_sql": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as boolean) as \n \n archived\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n overdue\n \n , \n cast(null as \n int64\n) as \n \n project_id\n \n , \n cast(null as date) as \n \n release_date\n \n , \n cast(null as boolean) as \n \n released\n \n , \n cast(null as date) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n cast(release_date as \n timestamp\n) as release_date,\n released as is_released,\n cast(start_date as \n timestamp\n) as start_date\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version`"}, "model.jira_source.stg_jira__sprint": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__sprint_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_jira__sprint_tmp')),\n staging_columns=get_sprint_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n cast(complete_date as {{ dbt_utils.type_timestamp() }}) as completed_at,\n cast(end_date as {{ dbt_utils.type_timestamp() }}) as ended_at,\n cast(start_date as {{ dbt_utils.type_timestamp() }}) as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_sprint_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__sprint"], "unique_id": "model.jira_source.stg_jira__sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__sprint.sql", "original_file_path": "models/stg_jira__sprint.sql", "name": "stg_jira__sprint", "alias": "stg_jira__sprint", "checksum": {"name": "sha256", "checksum": "4f918dc4b55a375be7a8706f535e334000d962c679f1c5230b6a3589e1983e41"}, "tags": [], "refs": [["stg_jira__sprint_tmp"], ["stg_jira__sprint_tmp"]], "sources": [], "description": "Table of all sprints.", "columns": {"sprint_id": {"name": "sprint_id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "completed_at": {"name": "completed_at", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ended_at": {"name": "ended_at", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "sprint_name": {"name": "sprint_name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "started_at": {"name": "started_at", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__sprint.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.279488, "compiled_sql": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n board_id\n \n , \n cast(null as \n timestamp\n) as \n \n complete_date\n \n , \n cast(null as \n timestamp\n) as \n \n end_date\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n timestamp\n) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n cast(complete_date as \n timestamp\n) as completed_at,\n cast(end_date as \n timestamp\n) as ended_at,\n cast(start_date as \n timestamp\n) as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint`"}, "model.jira_source.stg_jira__field_option": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_option_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_jira__field_option_tmp')),\n staging_columns=get_field_option_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_option_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__field_option"], "unique_id": "model.jira_source.stg_jira__field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__field_option.sql", "original_file_path": "models/stg_jira__field_option.sql", "name": "stg_jira__field_option", "alias": "stg_jira__field_option", "checksum": {"name": "sha256", "checksum": "92dee2e3923eb2d830a7caa04c5564b4feb2dcc90af364b01ea5de717d2c38bb"}, "tags": [], "refs": [["stg_jira__field_option_tmp"], ["stg_jira__field_option_tmp"]], "sources": [], "description": "Table of all options related to custom fields.", "columns": {"field_id": {"name": "field_id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_option_name": {"name": "field_option_name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field_option.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.269918, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option`"}, "model.jira_source.stg_jira__field": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_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_jira__field_tmp')),\n staging_columns=get_field_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_string() }}) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__field"], "unique_id": "model.jira_source.stg_jira__field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__field.sql", "original_file_path": "models/stg_jira__field.sql", "name": "stg_jira__field", "alias": "stg_jira__field", "checksum": {"name": "sha256", "checksum": "bd9e1203d72fee62d517f29766a023fa75369dcfc43dd22d1c18a5b0ee6e430e"}, "tags": [], "refs": [["stg_jira__field_tmp"], ["stg_jira__field_tmp"]], "sources": [], "description": "Table of all issue fields.", "columns": {"field_id": {"name": "field_id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_name": {"name": "field_name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.269439, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n id\n \n , \n cast(null as boolean) as \n \n is_array\n \n , \n cast(null as boolean) as \n \n is_custom\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as \n string\n) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field`"}, "model.jira_source.stg_jira__resolution": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__resolution_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_jira__resolution_tmp')),\n staging_columns=get_resolution_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_resolution_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__resolution"], "unique_id": "model.jira_source.stg_jira__resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__resolution.sql", "original_file_path": "models/stg_jira__resolution.sql", "name": "stg_jira__resolution", "alias": "stg_jira__resolution", "checksum": {"name": "sha256", "checksum": "df0a7fee42db70dbcfb35b1451336d745203a8ecdad4151617aae411dcf3ca5d"}, "tags": [], "refs": [["stg_jira__resolution_tmp"], ["stg_jira__resolution_tmp"]], "sources": [], "description": "Table storing the types of resolutions used by your organization.", "columns": {"resolution_id": {"name": "resolution_id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_description": {"name": "resolution_description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_name": {"name": "resolution_name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__resolution.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.278506, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution`"}, "model.jira_source.stg_jira__status": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_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_jira__status_tmp')),\n staging_columns=get_status_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__status"], "unique_id": "model.jira_source.stg_jira__status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__status.sql", "original_file_path": "models/stg_jira__status.sql", "name": "stg_jira__status", "alias": "stg_jira__status", "checksum": {"name": "sha256", "checksum": "648c813903f25664f0814e811e0d78023933601777f17ad4ee32a831477bc6e6"}, "tags": [], "refs": [["stg_jira__status_tmp"], ["stg_jira__status_tmp"]], "sources": [], "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"status_id": {"name": "status_id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_description": {"name": "status_description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_name": {"name": "status_name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2802072, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n int64\n) as \n \n status_category_id\n \n \n\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status`"}, "model.jira_source.stg_jira__issue": {"raw_sql": "with base as (\n \n select * \n from {{ ref('stg_jira__issue_tmp') }}\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_tmp')),\n staging_columns=get_issue_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n cast(created as {{ dbt_utils.type_timestamp() }}) as created_at,\n cast(resolved as {{ dbt_utils.type_timestamp() }}) as resolved_at,\n creator as creator_user_id,\n description as issue_description,\n cast(due_date as {{ dbt_utils.type_timestamp() }}) as due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n cast(status_category_changed as {{ dbt_utils.type_timestamp() }}) as status_changed_at,\n summary as issue_name,\n cast(updated as {{ dbt_utils.type_timestamp() }}) as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue"], "unique_id": "model.jira_source.stg_jira__issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue.sql", "original_file_path": "models/stg_jira__issue.sql", "name": "stg_jira__issue", "alias": "stg_jira__issue", "checksum": {"name": "sha256", "checksum": "4c2591ea3bd9241f5b21cc97798ffacbdae4dcea9ced798629cf108d5a5a4caa"}, "tags": [], "refs": [["stg_jira__issue_tmp"], ["stg_jira__issue_tmp"]], "sources": [], "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"issue_id": {"name": "issue_id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee_user_id": {"name": "assignee_user_id", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator_user_id": {"name": "creator_user_id", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_description": {"name": "issue_description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_id": {"name": "issue_type_id", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_key": {"name": "issue_key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate_seconds": {"name": "original_estimate_seconds", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_issue_id": {"name": "parent_issue_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_id": {"name": "priority_id", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate_seconds": {"name": "remaining_estimate_seconds", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter_user_id": {"name": "reporter_user_id", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_id": {"name": "resolution_id", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved_at": {"name": "resolved_at", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is un-resolved, this will be null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_id": {"name": "status_id", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_changed_at": {"name": "status_changed_at", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_name": {"name": "issue_name", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent_seconds": {"name": "time_spent_seconds", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2737422, "compiled_sql": "with base as (\n \n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_tmp`\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n \n cast(null as boolean) as \n \n _fivetran_deleted\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n float64\n) as \n \n _original_estimate\n \n , \n cast(null as \n float64\n) as \n \n _remaining_estimate\n \n , \n cast(null as \n float64\n) as \n \n _time_spent\n \n , \n cast(null as \n string\n) as \n \n assignee\n \n , \n cast(null as \n timestamp\n) as \n \n created\n \n , \n cast(null as \n string\n) as \n \n creator\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as date) as \n \n due_date\n \n , \n cast(null as \n string\n) as \n \n environment\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n int64\n) as \n \n issue_type\n \n , \n cast(null as \n string\n) as \n \n key\n \n , \n cast(null as \n float64\n) as \n \n original_estimate\n \n , \n cast(null as \n int64\n) as \n \n parent_id\n \n , \n cast(null as \n int64\n) as \n \n priority\n \n , \n cast(null as \n int64\n) as \n \n project\n \n , \n cast(null as \n float64\n) as \n \n remaining_estimate\n \n , \n cast(null as \n string\n) as \n \n reporter\n \n , \n cast(null as \n int64\n) as \n \n resolution\n \n , \n cast(null as \n timestamp\n) as \n \n resolved\n \n , \n cast(null as \n int64\n) as \n \n status\n \n , \n cast(null as \n timestamp\n) as \n \n status_category_changed\n \n , \n cast(null as \n string\n) as \n \n summary\n \n , \n cast(null as \n float64\n) as \n \n time_spent\n \n , \n cast(null as \n timestamp\n) as \n \n updated\n \n , \n cast(null as \n float64\n) as \n \n work_ratio\n \n \n\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n cast(created as \n timestamp\n) as created_at,\n cast(resolved as \n timestamp\n) as resolved_at,\n creator as creator_user_id,\n description as issue_description,\n cast(due_date as \n timestamp\n) as due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n cast(status_category_changed as \n timestamp\n) as status_changed_at,\n summary as issue_name,\n cast(updated as \n timestamp\n) as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue`"}, "model.jira_source.stg_jira__status_category": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_category_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_jira__status_category_tmp')),\n staging_columns=get_status_category_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_category_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__status_category"], "unique_id": "model.jira_source.stg_jira__status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__status_category.sql", "original_file_path": "models/stg_jira__status_category.sql", "name": "stg_jira__status_category", "alias": "stg_jira__status_category", "checksum": {"name": "sha256", "checksum": "f260e226e6da3a826497305326ddf19c4464f0f7c052f70251d11f7a641a5aa0"}, "tags": [], "refs": [["stg_jira__status_category_tmp"], ["stg_jira__status_category_tmp"]], "sources": [], "description": "Table of umbrella status categories.", "columns": {"status_category_id": {"name": "status_category_id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_name": {"name": "status_category_name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status_category.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.280766, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category`"}, "model.jira_source.stg_jira__issue_multiselect_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_multiselect_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_jira__issue_multiselect_history_tmp')),\n staging_columns=get_issue_multiselect_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n cast(\"TIME\" as {{ dbt_utils.type_timestamp() }})\n {% elif target.type == 'redshift' %}\n cast(\"time\" as {{ dbt_utils.type_timestamp() }})\n {% else %}\n cast(time as {{ dbt_utils.type_timestamp() }})\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_multiselect_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_multiselect_history"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_multiselect_history.sql", "original_file_path": "models/stg_jira__issue_multiselect_history.sql", "name": "stg_jira__issue_multiselect_history", "alias": "stg_jira__issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "c9fd53a4b2b6b8f6bd365064c89d1ca7014757553a7dd767a378e23240bf9420"}, "tags": [], "refs": [["stg_jira__issue_multiselect_history_tmp"], ["stg_jira__issue_multiselect_history_tmp"]], "sources": [], "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_multiselect_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2753081, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n string\n) as \n \n _fivetran_id\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n field_id\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n string\n) as \n \n value\n \n , \n cast(null as \n timestamp\n) as \n \n time\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as \n string\n) as field_id,\n issue_id,\n \n cast(time as \n timestamp\n)\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history`"}, "model.jira_source.stg_jira__issue_type": {"raw_sql": "with base as (\n\n select * from \n {{ ref('stg_jira__issue_type_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_jira__issue_type_tmp')),\n staging_columns=get_issue_type_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_type_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_type"], "unique_id": "model.jira_source.stg_jira__issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_type.sql", "original_file_path": "models/stg_jira__issue_type.sql", "name": "stg_jira__issue_type", "alias": "stg_jira__issue_type", "checksum": {"name": "sha256", "checksum": "605f5eb9aee0eca280a7c9186d69c378ee3649cd35e495ed387e0a8c19b9cb64"}, "tags": [], "refs": [["stg_jira__issue_type_tmp"], ["stg_jira__issue_type_tmp"]], "sources": [], "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"issue_type_id": {"name": "issue_type_id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_name": {"name": "issue_type_name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_subtask": {"name": "is_subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_type.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2761128, "compiled_sql": "with base as (\n\n select * from \n `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type_tmp`\n),\n\nfields as (\n\n select \n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n subtask\n \n \n\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type`"}, "model.jira_source.stg_jira__issue_link": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_link_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_jira__issue_link_tmp')),\n staging_columns=get_issue_link_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_link_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_link"], "unique_id": "model.jira_source.stg_jira__issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_link.sql", "original_file_path": "models/stg_jira__issue_link.sql", "name": "stg_jira__issue_link", "alias": "stg_jira__issue_link", "checksum": {"name": "sha256", "checksum": "7b8846ace343b3984c16bccb1a7bc2f49c6eef1547dec7a2fbcb1a206daff5bb"}, "tags": [], "refs": [["stg_jira__issue_link_tmp"], ["stg_jira__issue_link_tmp"]], "sources": [], "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_link.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.270495, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_link_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n int64\n) as \n \n related_issue_id\n \n , \n cast(null as \n string\n) as \n \n relationship\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_link`"}, "model.jira_source.stg_jira__component": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__component_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_jira__component_tmp')),\n staging_columns=get_component_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_component_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__component"], "unique_id": "model.jira_source.stg_jira__component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__component.sql", "original_file_path": "models/stg_jira__component.sql", "name": "stg_jira__component", "alias": "stg_jira__component", "checksum": {"name": "sha256", "checksum": "22f31e1f8c71e992171ead7a23e0c61d654dab19ebec7e227c741a704887783d"}, "tags": [], "refs": [["stg_jira__component_tmp"], ["stg_jira__component_tmp"]], "sources": [], "description": "Table of project components (subsections to group issues).", "columns": {"component_id": {"name": "component_id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_description": {"name": "component_description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_name": {"name": "component_name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__component.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2686138, "compiled_sql": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n int64\n) as \n \n project_id\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component`"}, "model.jira_source.stg_jira__user": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__user_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_jira__user_tmp')),\n staging_columns=get_user_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_user_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__user"], "unique_id": "model.jira_source.stg_jira__user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__user.sql", "original_file_path": "models/stg_jira__user.sql", "name": "stg_jira__user", "alias": "stg_jira__user", "checksum": {"name": "sha256", "checksum": "95b85f878a0a0784390ff0c1738c4bf709902531870b71fee4165f1628d4faa3"}, "tags": [], "refs": [["stg_jira__user_tmp"], ["stg_jira__user_tmp"]], "sources": [], "description": "Table of users associated with your organization.", "columns": {"user_id": {"name": "user_id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "user_display_name": {"name": "user_display_name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__user.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.281752, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n email\n \n , \n cast(null as \n string\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n locale\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n string\n) as \n \n time_zone\n \n , \n cast(null as \n string\n) as \n \n username\n \n \n\n\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user`"}, "model.jira_source.stg_jira__priority": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__priority_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_jira__priority_tmp')),\n staging_columns=get_priority_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_priority_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__priority"], "unique_id": "model.jira_source.stg_jira__priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__priority.sql", "original_file_path": "models/stg_jira__priority.sql", "name": "stg_jira__priority", "alias": "stg_jira__priority", "checksum": {"name": "sha256", "checksum": "a8495cfa4a37528969e67b871bdf192c97a4a60dc507c0d919175f1b2552feb3"}, "tags": [], "refs": [["stg_jira__priority_tmp"], ["stg_jira__priority_tmp"]], "sources": [], "description": "Table of issue priority levels (global).", "columns": {"priority_id": {"name": "priority_id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_description": {"name": "priority_description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_name": {"name": "priority_name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__priority.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2767239, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority`"}, "model.jira_source.stg_jira__version_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nselect * \nfrom {{ var('version') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.version"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__version_tmp"], "unique_id": "model.jira_source.stg_jira__version_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__version_tmp.sql", "original_file_path": "models/tmp/stg_jira__version_tmp.sql", "name": "stg_jira__version_tmp", "alias": "stg_jira__version_tmp", "checksum": {"name": "sha256", "checksum": "4e16bea890df92fe2393d1e151479ee51ed270f40d9b4ba3f922d858787c347e"}, "tags": [], "refs": [], "sources": [["jira", "version"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__version_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2137432, "compiled_sql": "\n\nselect * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`version`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version_tmp`"}, "model.jira_source.stg_jira__status_category_tmp": {"raw_sql": "select * \nfrom {{ var('status_category') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status_category"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_category_tmp"], "unique_id": "model.jira_source.stg_jira__status_category_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__status_category_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_category_tmp.sql", "name": "stg_jira__status_category_tmp", "alias": "stg_jira__status_category_tmp", "checksum": {"name": "sha256", "checksum": "ce976a7afa132349c28940f9d387b3e635c9a6dd2576844347910580ea592a4b"}, "tags": [], "refs": [], "sources": [["jira", "status_category"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_category_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.21698, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`status_category`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category_tmp`"}, "model.jira_source.stg_jira__field_option_tmp": {"raw_sql": "select * \nfrom {{ var('field_option') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field_option"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_option_tmp"], "unique_id": "model.jira_source.stg_jira__field_option_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__field_option_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_option_tmp.sql", "name": "stg_jira__field_option_tmp", "alias": "stg_jira__field_option_tmp", "checksum": {"name": "sha256", "checksum": "cb1e64625d369889104ada54bf610b9aa36e1623853ae29ae24bd8f5bb4b2437"}, "tags": [], "refs": [], "sources": [["jira", "field_option"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_option_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.219581, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`field_option`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option_tmp`"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_multiselect_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_multiselect_history"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_multiselect_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_multiselect_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "name": "stg_jira__issue_multiselect_history_tmp", "alias": "stg_jira__issue_multiselect_history_tmp", "checksum": {"name": "sha256", "checksum": "faf8d7e362472ef899552eba8ee39c1fa8a1b803f64a639d6f481400861bc24a"}, "tags": [], "refs": [], "sources": [["jira", "issue_multiselect_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.222132, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_multiselect_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history_tmp`"}, "model.jira_source.stg_jira__issue_type_tmp": {"raw_sql": "select * \nfrom {{ var('issue_type') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_type_tmp"], "unique_id": "model.jira_source.stg_jira__issue_type_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_type_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_type_tmp.sql", "name": "stg_jira__issue_type_tmp", "alias": "stg_jira__issue_type_tmp", "checksum": {"name": "sha256", "checksum": "166aa9a9ce724421198262fb67dd01b9130712cada1defcd20a991308676e5d0"}, "tags": [], "refs": [], "sources": [["jira", "issue_type"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_type_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.225263, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_type`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type_tmp`"}, "model.jira_source.stg_jira__sprint_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nselect * \nfrom {{ var('sprint') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.sprint"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__sprint_tmp"], "unique_id": "model.jira_source.stg_jira__sprint_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__sprint_tmp.sql", "original_file_path": "models/tmp/stg_jira__sprint_tmp.sql", "name": "stg_jira__sprint_tmp", "alias": "stg_jira__sprint_tmp", "checksum": {"name": "sha256", "checksum": "a21fcc01937bc59051bdd08532e3cf8535b078b2204f659f9ef98817dfb0c463"}, "tags": [], "refs": [], "sources": [["jira", "sprint"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__sprint_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2277818, "compiled_sql": "\n\nselect * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`sprint`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint_tmp`"}, "model.jira_source.stg_jira__status_tmp": {"raw_sql": "select * \nfrom {{ var('status') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_tmp"], "unique_id": "model.jira_source.stg_jira__status_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__status_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_tmp.sql", "name": "stg_jira__status_tmp", "alias": "stg_jira__status_tmp", "checksum": {"name": "sha256", "checksum": "206c9a7f6e35d22a162df8e6d1ae4c121382af956e056ca619faff9986ab16b3"}, "tags": [], "refs": [], "sources": [["jira", "status"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.230786, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`status`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_tmp`"}, "model.jira_source.stg_jira__project_tmp": {"raw_sql": "select * \nfrom {{ var('project') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.project"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__project_tmp"], "unique_id": "model.jira_source.stg_jira__project_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__project_tmp.sql", "original_file_path": "models/tmp/stg_jira__project_tmp.sql", "name": "stg_jira__project_tmp", "alias": "stg_jira__project_tmp", "checksum": {"name": "sha256", "checksum": "776cf64136ff22eaa9fddcb5b4aadd58e5b295800ffd8b3a2c3871ed22531599"}, "tags": [], "refs": [], "sources": [["jira", "project"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__project_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2333992, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`project`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project_tmp`"}, "model.jira_source.stg_jira__comment_tmp": {"raw_sql": "select * \nfrom {{ var('comment') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.comment"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__comment_tmp"], "unique_id": "model.jira_source.stg_jira__comment_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__comment_tmp.sql", "original_file_path": "models/tmp/stg_jira__comment_tmp.sql", "name": "stg_jira__comment_tmp", "alias": "stg_jira__comment_tmp", "checksum": {"name": "sha256", "checksum": "50e78fc23c6041b43d46c0adf7f6cf3c1e2375ef3410fbdd2f527028d9830880"}, "tags": [], "refs": [], "sources": [["jira", "comment"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__comment_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2358952, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`comment`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment_tmp`"}, "model.jira_source.stg_jira__issue_field_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_field_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_field_history"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_field_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_field_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_field_history_tmp.sql", "name": "stg_jira__issue_field_history_tmp", "alias": "stg_jira__issue_field_history_tmp", "checksum": {"name": "sha256", "checksum": "037b5bef93c17b862d1969a35a66f10feb507b34d943b093c13ace0298b5d855"}, "tags": [], "refs": [], "sources": [["jira", "issue_field_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_field_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2384288, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_field_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history_tmp`"}, "model.jira_source.stg_jira__issue_link_tmp": {"raw_sql": "select * \nfrom {{ var('issue_link') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_link"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_link_tmp"], "unique_id": "model.jira_source.stg_jira__issue_link_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_link_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_link_tmp.sql", "name": "stg_jira__issue_link_tmp", "alias": "stg_jira__issue_link_tmp", "checksum": {"name": "sha256", "checksum": "deb68ea3ff7d2f0d254d06e07829733756ce80efb7af5209e5ae43840b8e254a"}, "tags": [], "refs": [], "sources": [["jira", "issue_link"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_link_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2415419, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_link`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_link_tmp`"}, "model.jira_source.stg_jira__field_tmp": {"raw_sql": "select * \nfrom {{ var('field') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_tmp"], "unique_id": "model.jira_source.stg_jira__field_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__field_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_tmp.sql", "name": "stg_jira__field_tmp", "alias": "stg_jira__field_tmp", "checksum": {"name": "sha256", "checksum": "aa842b8fc7fa2e61d4b04634ddae4948afce86a6c1ba37197e01c5baeef8f374"}, "tags": [], "refs": [], "sources": [["jira", "field"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.244061, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`field`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_tmp`"}, "model.jira_source.stg_jira__user_tmp": {"raw_sql": "select * \nfrom {{ var('user') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.user"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__user_tmp"], "unique_id": "model.jira_source.stg_jira__user_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__user_tmp.sql", "original_file_path": "models/tmp/stg_jira__user_tmp.sql", "name": "stg_jira__user_tmp", "alias": "stg_jira__user_tmp", "checksum": {"name": "sha256", "checksum": "c6665b2e96c3536ab07cdc0fe31225a7be4766df0c7c353e3ade197bc8498279"}, "tags": [], "refs": [], "sources": [["jira", "user"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__user_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2465641, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`user`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user_tmp`"}, "model.jira_source.stg_jira__issue_tmp": {"raw_sql": "select * \nfrom {{ var('issue') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_tmp"], "unique_id": "model.jira_source.stg_jira__issue_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_tmp.sql", "name": "stg_jira__issue_tmp", "alias": "stg_jira__issue_tmp", "checksum": {"name": "sha256", "checksum": "2f84522aea28fb2bef123eff34648c4777747064de156efaad69c053d3b06092"}, "tags": [], "refs": [], "sources": [["jira", "issue"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.249054, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_tmp`"}, "model.jira_source.stg_jira__priority_tmp": {"raw_sql": "select * \nfrom {{ var('priority') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.priority"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__priority_tmp"], "unique_id": "model.jira_source.stg_jira__priority_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__priority_tmp.sql", "original_file_path": "models/tmp/stg_jira__priority_tmp.sql", "name": "stg_jira__priority_tmp", "alias": "stg_jira__priority_tmp", "checksum": {"name": "sha256", "checksum": "1985fab4baa8555431839a35bc3966d7c3a7c67e746cc79a0c9caec5ab34cf90"}, "tags": [], "refs": [], "sources": [["jira", "priority"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__priority_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.251552, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`priority`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority_tmp`"}, "model.jira_source.stg_jira__component_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nselect * \nfrom {{ var('component') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.component"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__component_tmp"], "unique_id": "model.jira_source.stg_jira__component_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__component_tmp.sql", "original_file_path": "models/tmp/stg_jira__component_tmp.sql", "name": "stg_jira__component_tmp", "alias": "stg_jira__component_tmp", "checksum": {"name": "sha256", "checksum": "968da15f4a8dbb9e51d593dd0a95ff6081d5b2e3d8f0eb8daedaf2c283decd3c"}, "tags": [], "refs": [], "sources": [["jira", "component"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__component_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.254069, "compiled_sql": "\n\nselect * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`component`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component_tmp`"}, "model.jira_source.stg_jira__resolution_tmp": {"raw_sql": "select * \nfrom {{ var('resolution') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.resolution"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__resolution_tmp"], "unique_id": "model.jira_source.stg_jira__resolution_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__resolution_tmp.sql", "original_file_path": "models/tmp/stg_jira__resolution_tmp.sql", "name": "stg_jira__resolution_tmp", "alias": "stg_jira__resolution_tmp", "checksum": {"name": "sha256", "checksum": "4254df90446b8911d6664fb429ae20adfb05cfe415bed40e5563a5d5bb63786a"}, "tags": [], "refs": [], "sources": [["jira", "resolution"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__resolution_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.257407, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`resolution`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution_tmp`"}, "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__comment_comment_id", "alias": "unique_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.287033, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select comment_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment`\n where comment_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__comment_comment_id", "alias": "not_null_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.288127, "compiled_sql": "\n \n \n\n\n\nselect comment_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment`\nwhere comment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__component_component_id"], "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__component_component_id", "alias": "unique_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.289061, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select component_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component`\n where component_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__component_component_id"], "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__component_component_id", "alias": "not_null_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.289994, "compiled_sql": "\n \n \n\n\n\nselect component_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component`\nwhere component_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__field_field_id"], "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__field_field_id", "alias": "unique_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.291011, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select field_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field`\n where field_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_field_id", "alias": "not_null_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.291937, "compiled_sql": "\n \n \n\n\n\nselect field_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field_option')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field_option"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_option_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__field_option_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_option_field_id", "alias": "not_null_stg_jira__field_option_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_option_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.292827, "compiled_sql": "\n \n \n\n\n\nselect field_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field_option"}, "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_issue_id", "alias": "unique_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.293856, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select issue_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue`\n where issue_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_issue_id", "alias": "not_null_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.2947452, "compiled_sql": "\n \n \n\n\n\nselect issue_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue`\nwhere issue_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["field_id", "issue_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_field_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.jira_source.stg_jira__issue_field_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at", "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f"}, "created_at": 1651263521.295639, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n field_id, issue_id, updated_at\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history`\n group by field_id, issue_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_field_history"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_multiselect_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.jira_source.stg_jira__issue_multiselect_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at", "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396"}, "created_at": 1651263521.302954, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, updated_at\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history`\n group by _fivetran_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_multiselect_history"}, "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_type_issue_type_id", "alias": "unique_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.306093, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select issue_type_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type`\n where issue_type_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_type_issue_type_id", "alias": "not_null_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.307174, "compiled_sql": "\n \n \n\n\n\nselect issue_type_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type`\nwhere issue_type_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__priority_priority_id", "alias": "unique_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3081, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select priority_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority`\n where priority_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__priority_priority_id", "alias": "not_null_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3090072, "compiled_sql": "\n \n \n\n\n\nselect priority_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority`\nwhere priority_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.unique_stg_jira__project_project_id.58d321d374": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__project_project_id"], "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__project_project_id", "alias": "unique_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.309907, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select project_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project`\n where project_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__project_project_id"], "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__project_project_id", "alias": "not_null_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.310925, "compiled_sql": "\n \n \n\n\n\nselect project_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project`\nwhere project_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__resolution_resolution_id", "alias": "unique_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3118248, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select resolution_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution`\n where resolution_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__resolution_resolution_id", "alias": "not_null_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3127072, "compiled_sql": "\n \n \n\n\n\nselect resolution_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution`\nwhere resolution_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__sprint_sprint_id", "alias": "unique_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3138602, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select sprint_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint`\n where sprint_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__sprint_sprint_id", "alias": "not_null_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.315122, "compiled_sql": "\n \n \n\n\n\nselect sprint_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint`\nwhere sprint_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.unique_stg_jira__status_status_id.0449241b95": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_status_id"], "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_status_id", "alias": "unique_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.316152, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select status_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status`\n where status_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_status_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_status_id", "alias": "not_null_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.317087, "compiled_sql": "\n \n \n\n\n\nselect status_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status`\nwhere status_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_category_status_category_id", "alias": "unique_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.318144, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select status_category_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category`\n where status_category_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_category_status_category_id", "alias": "not_null_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.319068, "compiled_sql": "\n \n \n\n\n\nselect status_category_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category`\nwhere status_category_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__user_user_id"], "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__user_user_id", "alias": "unique_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3200068, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select user_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user`\n where user_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__user_user_id"], "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__user_user_id", "alias": "not_null_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.32102, "compiled_sql": "\n \n \n\n\n\nselect user_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user`\nwhere user_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.unique_stg_jira__version_version_id.08231bd017": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__version_version_id"], "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__version_version_id", "alias": "unique_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.321972, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select version_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version`\n where version_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}, "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__version_version_id"], "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__version_version_id", "alias": "not_null_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.322878, "compiled_sql": "\n \n \n\n\n\nselect version_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}}, "sources": {"source.jira_source.jira.comment": {"fqn": ["jira_source", "jira", "comment"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "comment", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "comment", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of comments made on issues.", "columns": {"id": {"name": "id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_id": {"name": "author_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the comment was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "update_author_id": {"name": "update_author_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`comment`", "created_at": 1651263521.3499892}, "source.jira_source.jira.component": {"fqn": ["jira_source", "jira", "component"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "component", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "component", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project components (subsections to group issues).\n", "columns": {"id": {"name": "id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`component`", "created_at": 1651263521.3500988}, "source.jira_source.jira.field": {"fqn": ["jira_source", "jira", "field"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issue fields.", "columns": {"id": {"name": "id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`field`", "created_at": 1651263521.350167}, "source.jira_source.jira.field_option": {"fqn": ["jira_source", "jira", "field_option"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field_option", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field_option", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all options related to custom fields.", "columns": {"id": {"name": "id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`field_option`", "created_at": 1651263521.350228}, "source.jira_source.jira.issue": {"fqn": ["jira_source", "jira", "issue"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"id": {"name": "id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean that is true if the row has been soft-deleted from the source.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee": {"name": "assignee", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator": {"name": "creator", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type": {"name": "issue_type", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_viewed": {"name": "last_viewed", "description": "Timestamp of when the user who set up the connector last viewed the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate": {"name": "original_estimate", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority": {"name": "priority", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project": {"name": "project", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate": {"name": "remaining_estimate", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter": {"name": "reporter", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution": {"name": "resolution", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved": {"name": "resolved", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is marked as un-resolved, this is null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_changed": {"name": "status_category_changed", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "summary": {"name": "summary", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent": {"name": "time_spent", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue`", "created_at": 1651263521.3503108}, "source.jira_source.jira.issue_field_history": {"fqn": ["jira_source", "jira", "issue_field_history"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_field_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_field_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_field_history`", "created_at": 1651263521.35037}, "source.jira_source.jira.issue_link": {"fqn": ["jira_source", "jira", "issue_link"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_link", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_link", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_link`", "created_at": 1651263521.3504279}, "source.jira_source.jira.issue_multiselect_history": {"fqn": ["jira_source", "jira", "issue_multiselect_history"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_multiselect_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_multiselect_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_multiselect_history`", "created_at": 1651263521.350496}, "source.jira_source.jira.issue_type": {"fqn": ["jira_source", "jira", "issue_type"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_type", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_type", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"id": {"name": "id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "subtask": {"name": "subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_type`", "created_at": 1651263521.350556}, "source.jira_source.jira.priority": {"fqn": ["jira_source", "jira", "priority"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "priority", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "priority", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of issue priority levels (global).", "columns": {"id": {"name": "id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`priority`", "created_at": 1651263521.350614}, "source.jira_source.jira.project": {"fqn": ["jira_source", "jira", "project"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "project", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "project", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all projects in your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lead_id": {"name": "lead_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_type_key": {"name": "project_type_key", "description": "ID of the type of project (ie 'software').", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`project`", "created_at": 1651263521.350676}, "source.jira_source.jira.resolution": {"fqn": ["jira_source", "jira", "resolution"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "resolution", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "resolution", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table storing the types of resolutions used by your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`resolution`", "created_at": 1651263521.350734}, "source.jira_source.jira.sprint": {"fqn": ["jira_source", "jira", "sprint"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "sprint", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "sprint", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all sprints.", "columns": {"id": {"name": "id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "complete_date": {"name": "complete_date", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_date": {"name": "end_date", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`sprint`", "created_at": 1651263521.350794}, "source.jira_source.jira.status": {"fqn": ["jira_source", "jira", "status"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"id": {"name": "id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`status`", "created_at": 1651263521.3508859}, "source.jira_source.jira.status_category": {"fqn": ["jira_source", "jira", "status_category"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status_category", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status_category", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of overarching status categories.", "columns": {"id": {"name": "id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`status_category`", "created_at": 1651263521.350944}, "source.jira_source.jira.user": {"fqn": ["jira_source", "jira", "user"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "user", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "user", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of users associated with your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`user`", "created_at": 1651263521.351006}, "source.jira_source.jira.version": {"fqn": ["jira_source", "jira", "version"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "version", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "version", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project versions in your organization.", "columns": {"archived": {"name": "archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "overdue": {"name": "overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "released": {"name": "released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`version`", "created_at": 1651263521.35107}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5190852}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "grant_access_to", "macro_sql": "{% macro grant_access_to(entity, entity_type, role, grant_target_dict) -%}\n {% do adapter.grant_access_to(entity, entity_type, role, grant_target_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.519307}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "get_partitions_metadata", "macro_sql": "\n\n{%- macro get_partitions_metadata(table) -%}\n {%- if execute -%}\n {%- set res = adapter.get_partitions_metadata(table) -%}\n {{- return(res) -}}\n {%- endif -%}\n {{- return(None) -}}\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.51958}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "bigquery__get_catalog", "macro_sql": "{% macro bigquery__get_catalog(information_schema, schemas) -%}\n\n {%- if (schemas | length) == 0 -%}\n {# Hopefully nothing cares about the columns we return when there are no rows #}\n {%- set query = \"select 1 as id limit 0\" -%}\n {%- else -%}\n\n {%- set query -%}\n with tables as (\n select\n project_id as table_database,\n dataset_id as table_schema,\n table_id as original_table_name,\n\n concat(project_id, '.', dataset_id, '.', table_id) as relation_id,\n\n row_count,\n size_bytes as size_bytes,\n case\n when type = 1 then 'table'\n when type = 2 then 'view'\n else 'external'\n end as table_type,\n\n REGEXP_CONTAINS(table_id, '^.+[0-9]{8}$') and coalesce(type, 0) = 1 as is_date_shard,\n REGEXP_EXTRACT(table_id, '^(.+)[0-9]{8}$') as shard_base_name,\n REGEXP_EXTRACT(table_id, '^.+([0-9]{8})$') as shard_name\n\n from {{ information_schema.replace(information_schema_view='__TABLES__') }}\n where (\n {%- for schema in schemas -%}\n upper(dataset_id) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n ),\n\n extracted as (\n\n select *,\n case\n when is_date_shard then shard_base_name\n else original_table_name\n end as table_name\n\n from tables\n\n ),\n\n unsharded_tables as (\n\n select\n table_database,\n table_schema,\n table_name,\n coalesce(table_type, 'external') as table_type,\n is_date_shard,\n\n struct(\n min(shard_name) as shard_min,\n max(shard_name) as shard_max,\n count(*) as shard_count\n ) as table_shards,\n\n sum(size_bytes) as size_bytes,\n sum(row_count) as row_count,\n\n max(relation_id) as relation_id\n\n from extracted\n group by 1,2,3,4,5\n\n ),\n\n info_schema_columns as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n table_catalog as table_database,\n table_schema,\n table_name,\n\n -- use the \"real\" column name from the paths query below\n column_name as base_column_name,\n ordinal_position as column_index,\n\n is_partitioning_column,\n clustering_ordinal_position\n\n from {{ information_schema.replace(information_schema_view='COLUMNS') }}\n where ordinal_position is not null\n\n ),\n\n info_schema_column_paths as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n field_path as column_name,\n data_type as column_type,\n column_name as base_column_name,\n description as column_comment\n\n from {{ information_schema.replace(information_schema_view='COLUMN_FIELD_PATHS') }}\n\n ),\n\n columns as (\n\n select * except (base_column_name)\n from info_schema_columns\n join info_schema_column_paths using (relation_id, base_column_name)\n\n ),\n\n column_stats as (\n\n select\n table_database,\n table_schema,\n table_name,\n max(relation_id) as relation_id,\n max(case when is_partitioning_column = 'YES' then 1 else 0 end) = 1 as is_partitioned,\n max(case when is_partitioning_column = 'YES' then column_name else null end) as partition_column,\n max(case when clustering_ordinal_position is not null then 1 else 0 end) = 1 as is_clustered,\n array_to_string(\n array_agg(\n case\n when clustering_ordinal_position is not null then column_name\n else null\n end ignore nulls\n order by clustering_ordinal_position\n ), ', '\n ) as clustering_columns\n\n from columns\n group by 1,2,3\n\n )\n\n select\n unsharded_tables.table_database,\n unsharded_tables.table_schema,\n case\n when is_date_shard then concat(unsharded_tables.table_name, '*')\n else unsharded_tables.table_name\n end as table_name,\n unsharded_tables.table_type,\n\n -- coalesce name and type for External tables - these columns are not\n -- present in the COLUMN_FIELD_PATHS resultset\n coalesce(columns.column_name, '') as column_name,\n -- invent a row number to account for nested fields -- BQ does\n -- not treat these nested properties as independent fields\n row_number() over (\n partition by relation_id\n order by columns.column_index, columns.column_name\n ) as column_index,\n coalesce(columns.column_type, '') as column_type,\n columns.column_comment,\n\n 'Shard count' as `stats__date_shards__label`,\n table_shards.shard_count as `stats__date_shards__value`,\n 'The number of date shards in this table' as `stats__date_shards__description`,\n is_date_shard as `stats__date_shards__include`,\n\n 'Shard (min)' as `stats__date_shard_min__label`,\n table_shards.shard_min as `stats__date_shard_min__value`,\n 'The first date shard in this table' as `stats__date_shard_min__description`,\n is_date_shard as `stats__date_shard_min__include`,\n\n 'Shard (max)' as `stats__date_shard_max__label`,\n table_shards.shard_max as `stats__date_shard_max__value`,\n 'The last date shard in this table' as `stats__date_shard_max__description`,\n is_date_shard as `stats__date_shard_max__include`,\n\n '# Rows' as `stats__num_rows__label`,\n row_count as `stats__num_rows__value`,\n 'Approximate count of rows in this table' as `stats__num_rows__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_rows__include`,\n\n 'Approximate Size' as `stats__num_bytes__label`,\n size_bytes as `stats__num_bytes__value`,\n 'Approximate size of table as reported by BigQuery' as `stats__num_bytes__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_bytes__include`,\n\n 'Partitioned By' as `stats__partitioning_type__label`,\n partition_column as `stats__partitioning_type__value`,\n 'The partitioning column for this table' as `stats__partitioning_type__description`,\n is_partitioned as `stats__partitioning_type__include`,\n\n 'Clustered By' as `stats__clustering_fields__label`,\n clustering_columns as `stats__clustering_fields__value`,\n 'The clustering columns for this table' as `stats__clustering_fields__description`,\n is_clustered as `stats__clustering_fields__include`\n\n -- join using relation_id (an actual relation, not a shard prefix) to make\n -- sure that column metadata is picked up through the join. This will only\n -- return the column information for the \"max\" table in a date-sharded table set\n from unsharded_tables\n left join columns using (relation_id)\n left join column_stats using (relation_id)\n {%- endset -%}\n\n {%- endif -%}\n\n {{ return(run_query(query)) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.522826}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "partition_by", "macro_sql": "{% macro partition_by(partition_config) -%}\n {%- if partition_config is none -%}\n {% do return('') %}\n {%- elif partition_config.data_type | lower in ('date','timestamp','datetime') -%}\n partition by {{ partition_config.render() }}\n {%- elif partition_config.data_type | lower in ('int64') -%}\n {%- set range = partition_config.range -%}\n partition by range_bucket(\n {{ partition_config.field }},\n generate_array({{ range.start}}, {{ range.end }}, {{ range.interval }})\n )\n {%- endif -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5279942}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "cluster_by", "macro_sql": "{% macro cluster_by(raw_cluster_by) %}\n {%- if raw_cluster_by is not none -%}\n cluster by {% if raw_cluster_by is string -%}\n {% set raw_cluster_by = [raw_cluster_by] %}\n {%- endif -%}\n {%- for cluster in raw_cluster_by -%}\n {{ cluster }}\n {%- if not loop.last -%}, {% endif -%}\n {%- endfor -%}\n\n {% endif %}\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5283608}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_options", "macro_sql": "{% macro bigquery_options(opts) %}\n {% set options -%}\n OPTIONS({% for opt_key, opt_val in opts.items() %}\n {{ opt_key }}={{ opt_val }}{{ \",\" if not loop.last }}\n {% endfor %})\n {%- endset %}\n {%- do return(options) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.528716}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_table_options", "macro_sql": "{% macro bigquery_table_options(config, node, temporary) %}\n {% set opts = adapter.get_table_options(config, node, temporary) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.528974}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_table_as", "macro_sql": "{% macro bigquery__create_table_as(temporary, relation, 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": ["macro.dbt_bigquery.partition_by", "macro.dbt_bigquery.cluster_by", "macro.dbt_bigquery.bigquery_table_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.529676}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_view_options", "macro_sql": "{% macro bigquery_view_options(config, node) %}\n {% set opts = adapter.get_view_options(config, node) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5299342}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_view_as", "macro_sql": "{% macro bigquery__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {{ bigquery_view_options(config, model) }}\n as {{ sql }};\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530258}, "macro.dbt_bigquery.bigquery__create_schema": {"unique_id": "macro.dbt_bigquery.bigquery__create_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/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": [], "created_at": 1651263520.530389}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530515}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_relation", "macro_sql": "{% macro bigquery__drop_relation(relation) -%}\n {% call statement('drop_relation') -%}\n drop {{ relation.type }} if exists {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530711}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530852}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_relations_without_caching", "macro_sql": "{% macro bigquery__list_relations_without_caching(schema_relation) -%}\n {{ return(adapter.list_relations_without_caching(schema_relation)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530986}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/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": [], "created_at": 1651263520.5310552}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/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": [], "created_at": 1651263520.5312269}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5314429}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__check_schema_exists", "macro_sql": "{% macro bigquery__check_schema_exists(information_schema, schema) %}\n {{ return(adapter.check_schema_exists(information_schema.database, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.531625}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__persist_docs", "macro_sql": "{% macro bigquery__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do alter_column_comment(relation, model.columns) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.531928}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.532083}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5322309}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_add_columns", "macro_sql": "{% macro bigquery__alter_relation_add_columns(relation, add_columns) %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.532619}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_drop_columns", "macro_sql": "{% macro bigquery__alter_relation_drop_columns(relation, drop_columns) %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in drop_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.532984}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_type", "macro_sql": "{% macro bigquery__alter_column_type(relation, column_name, new_column_type) -%}\n {#-- Changing a column's data type using a query requires you to scan the entire table.\n The query charges can be significant if the table is very large.\n\n https://cloud.google.com/bigquery/docs/manually-changing-schemas#changing_a_columns_data_type\n #}\n {% set relation_columns = get_columns_in_relation(relation) %}\n\n {% set sql %}\n select\n {%- for col in relation_columns -%}\n {% if col.column == column_name %}\n CAST({{ col.quoted }} AS {{ new_column_type }}) AS {{ col.quoted }}\n {%- else %}\n {{ col.quoted }}\n {%- endif %}\n {%- if not loop.last %},{% endif -%}\n {%- endfor %}\n from {{ relation }}\n {% endset %}\n\n {% call statement('alter_column_type') %}\n {{ create_table_as(False, relation, sql)}}\n {%- endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_columns_in_relation", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.533634}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__test_unique", "macro_sql": "{% macro bigquery__test_unique(model, column_name) %}\n\nwith dbt_test__target as (\n\n select {{ column_name }} as unique_field\n from {{ model }}\n where {{ column_name }} is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.533797}, "macro.dbt_bigquery.bigquery__upload_file": {"unique_id": "macro.dbt_bigquery.bigquery__upload_file", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__upload_file", "macro_sql": "{% macro bigquery__upload_file(local_file_path, database, table_schema, table_name) %}\n\n {{ log(\"kwargs: \" ~ kwargs) }}\n\n {% do adapter.upload_file(local_file_path, database, table_schema, table_name, kwargs=kwargs) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.534071}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\n -- no-op\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.534461}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__reset_csv_table", "macro_sql": "{% macro bigquery__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.534615}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__load_csv_rows", "macro_sql": "{% macro bigquery__load_csv_rows(model, agate_table) %}\n\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {{ adapter.load_dataframe(model['database'], model['schema'], model['alias'],\n \t\t\t\t\t\t\tagate_table, column_override) }}\n {% if config.persist_relation_docs() and 'description' in model %}\n\n \t{{ adapter.update_table_description(model['database'], model['schema'], model['alias'], model['description']) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.535213}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "bigquery__handle_existing_table", "macro_sql": "{% macro bigquery__handle_existing_table(full_refresh, old_relation) %}\n {%- if full_refresh -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- else -%}\n {{ exceptions.relation_wrong_type(old_relation, 'view') }}\n {%- endif -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.535771}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "materialization_view_bigquery", "macro_sql": "{% materialization view, adapter='bigquery' -%}\n {% set to_return = create_or_replace_view() %}\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": ["macro.dbt.create_or_replace_view", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.536351}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "materialization_table_bigquery", "macro_sql": "{% materialization table, adapter='bigquery' -%}\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\n {{ run_hooks(pre_hooks) }}\n\n {#\n We only need to drop this thing if it is not a table.\n If it _is_ already a table, then we can overwrite it without downtime\n Unlike table -> view, no need for `--full-refresh`: dropping a view is no big deal\n #}\n {%- if exists_not_as_table -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- endif -%}\n\n -- build model\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set partition_by = adapter.parse_partition_by(raw_partition_by) -%}\n {%- set cluster_by = config.get('cluster_by', none) -%}\n {% if not adapter.is_replaceable(old_relation, partition_by, cluster_by) %}\n {% do log(\"Hard refreshing \" ~ old_relation ~ \" because it is not replaceable\") %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n {% call statement('main') -%}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall -%}\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": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.538093}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "materialization_copy_bigquery", "macro_sql": "{% materialization copy, adapter='bigquery' -%}\n\n {# Setup #}\n {{ run_hooks(pre_hooks) }}\n\n {% set destination = this.incorporate(type='table') %}\n\n {# there can be several ref() or source() according to BQ copy API docs #}\n {# cycle over ref() and source() to create source tables array #}\n {% set source_array = [] %}\n {% for ref_table in model.refs %}\n {{ source_array.append(ref(*ref_table)) }}\n {% endfor %}\n\n {% for src_table in model.sources %}\n {{ source_array.append(source(*src_table)) }}\n {% endfor %}\n\n {# Call adapter's copy_table function #}\n {%- set result_str = adapter.copy_table(\n source_array,\n destination,\n config.get('copy_materialization', default = 'table')) -%}\n\n {{ store_result('main', response=result_str) }}\n\n {# Clean up #}\n {{ run_hooks(post_hooks) }}\n {{ adapter.commit() }}\n\n {{ return({'relations': [destination]}) }}\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.539249}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, sql) %}\n\n {% if '_dbt_max_partition' in sql %}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.541038}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "dbt_bigquery_validate_get_incremental_strategy", "macro_sql": "{% macro dbt_bigquery_validate_get_incremental_strategy(config) %}\n {#-- Find and validate the incremental strategy #}\n {%- set strategy = config.get(\"incremental_strategy\", 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": [], "created_at": 1651263520.54147}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\n\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate], include_sql_header=true) }}\n\n {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- endset -%}\n\n -- generated script to merge partitions into {{ target_relation }}\n declare dbt_partitions_for_replacement array<{{ partition_by.data_type }}>;\n\n {# have we already created the temp table to check for schema changes? #}\n {% if not tmp_relation_exists %}\n {{ declare_dbt_max_partition(this, partition_by, sql) }}\n\n -- 1. create a temp table\n {{ create_table_as(True, tmp_relation, sql) }}\n {% else %}\n -- 1. temp table already exists, we used it to check for schema changes\n {% endif %}\n\n -- 2. define partitions to update\n set (dbt_partitions_for_replacement) = (\n select as struct\n array_agg(distinct {{ partition_by.render() }})\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": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5427682}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_generate_incremental_build_sql", "macro_sql": "{% macro bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n {#-- if partitioned, use BQ scripting to get the range of partition values to be updated --#}\n {% if strategy == 'insert_overwrite' %}\n\n {% set missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, on_schema_change\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5436}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "materialization_incremental_bigquery", "macro_sql": "{% materialization incremental, adapter='bigquery' -%}\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 {% set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') %}\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\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\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\n {% else %}\n {% set tmp_relation_exists = false %}\n {% if on_schema_change != 'ignore' %} {# Check first, since otherwise we may not build a temp table #}\n {% do run_query(\n declare_dbt_max_partition(this, partition_by, sql) + create_table_as(True, tmp_relation, sql)\n ) %}\n {% set tmp_relation_exists = true %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, tmp_relation, existing_relation) %}\n {% endif %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n {% set build_sql = bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\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": ["macro.dbt.should_full_refresh", "macro.dbt.load_relation", "macro.dbt.make_temp_relation", "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.run_hooks", "macro.dbt.create_table_as", "macro.dbt.run_query", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.process_schema_changes", "macro.dbt_bigquery.bq_generate_incremental_build_sql", "macro.dbt.statement", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.546081}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__snapshot_hash_arguments", "macro_sql": "{% macro bigquery__snapshot_hash_arguments(args) -%}\n to_hex(md5(concat({%- for arg in args -%}\n coalesce(cast({{ arg }} as string), ''){% if not loop.last %}, '|',{% endif -%}\n {%- endfor -%}\n )))\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5465338}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.546686}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__post_snapshot", "macro_sql": "{% macro bigquery__post_snapshot(staging_relation) %}\n -- Clean up the snapshot temp table\n {% do drop_relation(staging_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5468118}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548034}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548265}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548414}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548556}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548692}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.549207}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.549505}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5498009}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5502841}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.550556}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554113}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554281}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554496}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554636}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_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": 1651263520.5547268}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.555425}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.555583}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.555747}, "macro.dbt.snapshot_check_all_get_existing_columns": {"unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists) -%}\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": 1651263520.556706}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% 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 {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.558305}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562009}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562305}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562477}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5625632}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562706}, "macro.dbt.default__get_true_sql": {"unique_id": "macro.dbt.default__get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562816}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.563013}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.563885}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.564069}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.564317}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set 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": 1651263520.564739}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "name": "materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n\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.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": 1651263520.5700438}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "name": "materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type='table') -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.572085}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "name": "get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.572578}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "name": "default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.572875}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "name": "get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.573288}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "name": "default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.573673}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.574497}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.575027}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type %}\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": 1651263520.5756218}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, predicates=none) -%}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, predicates) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.580383}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, predicates) -%}\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set 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 {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{ predicates | join(' and ') }}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5818508}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.582148}, "macro.dbt.default__get_delete_insert_merge_sql": {"unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last }}\n {% endfor %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n );\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.582891}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.583151}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {%- 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": 1651263520.583782}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "name": "is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.584461}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "name": "materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n {% 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": 1651263520.5890949}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5934021}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.594595}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.595752}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n {% 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": 1651263520.5964532}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/table.sql", "original_file_path": "macros/materializations/models/table/table.sql", "name": "materialization_table_default", "macro_sql": "{% materialization table, default %}\n {%- 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": 1651263520.600076}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.600551}, "macro.dbt.default__get_create_table_as_sql": {"unique_id": "macro.dbt.default__get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.600734}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, sql) -%}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.600929}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6013389}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/view.sql", "original_file_path": "macros/materializations/models/view/view.sql", "name": "materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set 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": 1651263520.6047978}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.605145}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.60536}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/models/view/create_or_replace_view.sql", "name": "create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\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": 1651263520.6065578}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.606966}, "macro.dbt.default__get_create_view_as_sql": {"unique_id": "macro.dbt.default__get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6071239}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.607296}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }} as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.60755}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "name": "materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set 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": 1651263520.61041}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6143}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.615197}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6154292}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.615896}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6160362}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.616145}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.616297}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.616419}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6168802}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.617121}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6183}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "name": "generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.618748}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "name": "default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name is none -%}\n\n {{ node.name }}\n\n {%- else -%}\n\n {{ custom_alias_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6189692}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6195168}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.619779}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.620054}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "name": "generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.620488}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "name": "default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.620733}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "name": "default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.621134}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "name": "default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6214788}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "name": "default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.621773}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "name": "default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.622366}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "statement", "macro_sql": "{% 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": 1651263520.623468}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.624031}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.624318}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.626059}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partiton start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.627292}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628024}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628255}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628696}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628872}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629031}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629206}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629704}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629836}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629993}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.630377}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.631969}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {% set 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": 1651263520.632262}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.632441}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6326551}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.632834}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.632988}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6331992}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6334841}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.633732}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.634343}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {% 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": 1651263520.6345658}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6347551}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/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_utils.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.635259}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "default__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": 1651263520.6353998}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.635625}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.636029}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.636703}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6368692}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.63708}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6372402}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.637501}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.637974}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.639353}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.639609}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.63979}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.639945}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.64012}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.640356}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.640565}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.640926}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.641114}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.641279}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.642879}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.643032}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.643341}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6435242}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n {% endcall %}\n\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.643869}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.644098}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6446779}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6449301}, "macro.dbt.default__alter_relation_add_remove_columns": {"unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.645698}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.646251}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.646474}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.646763}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6470342}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.647342}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.647414}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6474812}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6478531}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.64801}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6483068}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.648499}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.649181}, "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/jira/dbt_jira_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": 1651263520.649258}, "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/jira/dbt_jira_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": 1651263520.649327}, "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/jira/dbt_jira_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": 1651263520.649398}, "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/jira/dbt_jira_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": 1651263520.6494982}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.649664}, "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/jira/dbt_jira_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": 1651263520.649735}, "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/jira/dbt_jira_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": 1651263520.6498072}, "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/jira/dbt_jira_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": 1651263520.6498718}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_float"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.650029}, "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/jira/dbt_jira_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": 1651263520.650097}, "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/jira/dbt_jira_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": 1651263520.650165}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.650319}, "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/jira/dbt_jira_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": 1651263520.6503859}, "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/jira/dbt_jira_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": 1651263520.650454}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.650608}, "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/jira/dbt_jira_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": 1651263520.650676}, "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/jira/dbt_jira_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": 1651263520.650741}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6509619}, "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/jira/dbt_jira_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": 1651263520.6510332}, "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/jira/dbt_jira_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": 1651263520.651105}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.651639}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.651988}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.652092}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6521878}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.652781}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6529431}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653097}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653253}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653443}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.653743}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6538181}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653885}, "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/jira/dbt_jira_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.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6542609}, "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/jira/dbt_jira_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": 1651263520.6543958}, "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/jira/dbt_jira_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": 1651263520.654528}, "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/jira/dbt_jira_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": 1651263520.654658}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.655218}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.65535}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6555}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.65584}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.658001}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6584032}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.658672}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6590452}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.659961}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6624079}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.662569}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.662723}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.689932}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.690176}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.690707}, "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/jira/dbt_jira_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": 1651263520.69085}, "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/jira/dbt_jira_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": 1651263520.6909719}, "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/jira/dbt_jira_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": 1651263520.691093}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.691458}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.691594}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6917188}, "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/jira/dbt_jira_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": 1651263520.6920772}, "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/jira/dbt_jira_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": 1651263520.6922119}, "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/jira/dbt_jira_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": 1651263520.692333}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__identifier"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.692843}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.692946}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6930418}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6933792}, "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/jira/dbt_jira_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": 1651263520.69348}, "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/jira/dbt_jira_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": 1651263520.693584}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6939871}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.694119}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.694247}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.694608}, "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/jira/dbt_jira_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": 1651263520.69471}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6952739}, "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/jira/dbt_jira_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": 1651263520.695383}, "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/jira/dbt_jira_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": 1651263520.6954508}, "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/jira/dbt_jira_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": 1651263520.695521}, "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/jira/dbt_jira_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.default__current_timestamp_in_utc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.695673}, "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/jira/dbt_jira_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": 1651263520.6957781}, "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/jira/dbt_jira_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": 1651263520.695918}, "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/jira/dbt_jira_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": 1651263520.6960251}, "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/jira/dbt_jira_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": 1651263520.696154}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6975338}, "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/jira/dbt_jira_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": 1651263520.697988}, "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/jira/dbt_jira_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": 1651263520.698438}, "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/jira/dbt_jira_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": 1651263520.698623}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.698994}, "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/jira/dbt_jira_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": 1651263520.699096}, "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/jira/dbt_jira_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": 1651263520.699193}, "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/jira/dbt_jira_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": 1651263520.699292}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.699931}, "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/jira/dbt_jira_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": 1651263520.700277}, "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/jira/dbt_jira_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": 1651263520.700429}, "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/jira/dbt_jira_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": 1651263520.700821}, "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/jira/dbt_jira_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": 1651263520.701002}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7015302}, "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/jira/dbt_jira_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": 1651263520.701695}, "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/jira/dbt_jira_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 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": [], "created_at": 1651263520.701865}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.702257}, "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/jira/dbt_jira_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": 1651263520.702386}, "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/jira/dbt_jira_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": 1651263520.702515}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7033741}, "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/jira/dbt_jira_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": 1651263520.7088661}, "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/jira/dbt_jira_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": 1651263520.709374}, "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/jira/dbt_jira_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": 1651263520.709687}, "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/jira/dbt_jira_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": 1651263520.710172}, "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/jira/dbt_jira_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": 1651263520.7152221}, "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/jira/dbt_jira_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": 1651263520.715671}, "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/jira/dbt_jira_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": 1651263520.716146}, "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/jira/dbt_jira_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": 1651263520.716668}, "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/jira/dbt_jira_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": 1651263520.717312}, "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/jira/dbt_jira_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": 1651263520.7176719}, "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/jira/dbt_jira_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": 1651263520.717983}, "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/jira/dbt_jira_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": 1651263520.7185469}, "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/jira/dbt_jira_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": 1651263520.718771}, "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/jira/dbt_jira_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": 1651263520.7192042}, "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/jira/dbt_jira_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": 1651263520.7194948}, "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/jira/dbt_jira_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": 1651263520.720169}, "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/jira/dbt_jira_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": 1651263520.720504}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7209458}, "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/jira/dbt_jira_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": 1651263520.721306}, "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/jira/dbt_jira_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": 1651263520.721705}, "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/jira/dbt_jira_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": 1651263520.721875}, "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/jira/dbt_jira_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": 1651263520.7225149}, "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/jira/dbt_jira_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": 1651263520.723048}, "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/jira/dbt_jira_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": 1651263520.7236311}, "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/jira/dbt_jira_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": 1651263520.7240121}, "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/jira/dbt_jira_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": 1651263520.7244658}, "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/jira/dbt_jira_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": 1651263520.724632}, "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/jira/dbt_jira_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": 1651263520.7250051}, "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/jira/dbt_jira_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": 1651263520.725178}, "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/jira/dbt_jira_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": 1651263520.725805}, "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/jira/dbt_jira_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": 1651263520.726437}, "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/jira/dbt_jira_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": 1651263520.7270348}, "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/jira/dbt_jira_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": 1651263520.727367}, "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/jira/dbt_jira_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": 1651263520.727871}, "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/jira/dbt_jira_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": 1651263520.728159}, "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/jira/dbt_jira_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": 1651263520.728628}, "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/jira/dbt_jira_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": 1651263520.72915}, "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/jira/dbt_jira_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": 1651263520.729852}, "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/jira/dbt_jira_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": 1651263520.730531}, "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/jira/dbt_jira_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": 1651263520.7309902}, "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/jira/dbt_jira_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": 1651263520.731154}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.731959}, "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/jira/dbt_jira_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": 1651263520.7328398}, "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/jira/dbt_jira_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": 1651263520.73581}, "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/jira/dbt_jira_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": 1651263520.737254}, "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/jira/dbt_jira_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": 1651263520.73759}, "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/jira/dbt_jira_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": 1651263520.73775}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.738076}, "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/jira/dbt_jira_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": 1651263520.73827}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.738579}, "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/jira/dbt_jira_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": 1651263520.738745}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.739254}, "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/jira/dbt_jira_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": 1651263520.739952}, "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/jira/dbt_jira_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": 1651263520.740532}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.740761}, "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/jira/dbt_jira_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": 1651263520.7411158}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.741497}, "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/jira/dbt_jira_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": 1651263520.741907}, "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/jira/dbt_jira_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": 1651263520.742595}, "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/jira/dbt_jira_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": 1651263520.743433}, "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/jira/dbt_jira_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": 1651263520.744249}, "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/jira/dbt_jira_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": 1651263520.744652}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.744836}, "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/jira/dbt_jira_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": 1651263520.745342}, "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/jira/dbt_jira_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": 1651263520.746026}, "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/jira/dbt_jira_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": 1651263520.74688}, "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/jira/dbt_jira_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": 1651263520.747328}, "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/jira/dbt_jira_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": 1651263520.747612}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.748401}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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 {%- for col in dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\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\n {%- endfor -%}\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": 1651263520.749313}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.751173}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.753288}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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') -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name)) }}\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": 1651263520.755532}, "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/jira/dbt_jira_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') -%}\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 {% 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\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": ["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": 1651263520.758402}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.75891}, "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/jira/dbt_jira_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": 1651263520.759176}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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, group_by, order_by=none, relation_alias=none) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, group_by, order_by=order_by, relation_alias=relation_alias)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.759924}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n _inner.*,\n row_number() over (\n partition by {{ group_by }}\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n ) as rn\n from {{ relation if relation_alias is none else relation_alias }} as _inner\n ) as deduped\n where deduped.rn = 1\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.760334}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n array_agg (\n original\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n limit 1\n )[offset(0)] as deduped\n from {{ relation if relation_alias is none else relation_alias }} as original\n group by {{ group_by }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7607281}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.761369}, "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/jira/dbt_jira_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": 1651263520.762316}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7627552}, "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/jira/dbt_jira_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": 1651263520.763027}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.763423}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7637691}, "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/jira/dbt_jira_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.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.765257}, "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/jira/dbt_jira_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": 1651263520.765525}, "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/jira/dbt_jira_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": 1651263520.766222}, "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/jira/dbt_jira_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": 1651263520.766795}, "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/jira/dbt_jira_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) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default)) }}\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": 1651263520.767775}, "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/jira/dbt_jira_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) -%}\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 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": 1651263520.769192}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.770268}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.771132}, "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/jira/dbt_jira_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": 1651263520.7716548}, "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/jira/dbt_jira_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": 1651263520.7723808}, "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/jira/dbt_jira_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": 1651263520.772817}, "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/jira/dbt_jira_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": 1651263520.773404}, "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/jira/dbt_jira_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.bigquery__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.773906}, "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/jira/dbt_jira_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": 1651263520.7739892}, "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/jira/dbt_jira_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": 1651263520.774071}, "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/jira/dbt_jira_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": 1651263520.7741492}, "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/jira/dbt_jira_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": 1651263520.77516}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7754319}, "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/jira/dbt_jira_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": 1651263520.776002}, "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/jira/dbt_jira_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": 1651263520.776862}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.777313}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.77823}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7783942}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778549}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778707}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778843}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778998}, "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/jira/dbt_jira_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": 1651263520.779486}, "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/jira/dbt_jira_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": 1651263520.779928}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.780967}, "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/jira/dbt_jira_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": 1651263520.781208}, "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/jira/dbt_jira_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": 1651263520.781451}, "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/jira/dbt_jira_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": 1651263520.781687}, "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/jira/dbt_jira_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": 1651263520.781929}, "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/jira/dbt_jira_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": 1651263520.782196}, "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/jira/dbt_jira_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": 1651263520.782464}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.782858}, "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/jira/dbt_jira_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": 1651263520.782955}, "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/jira/dbt_jira_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": 1651263520.7830489}, "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/jira/dbt_jira_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": 1651263520.783411}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.783852}, "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/jira/dbt_jira_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": 1651263520.7844632}, "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/jira/dbt_jira_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": 1651263520.785123}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7856169}, "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/jira/dbt_jira_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": 1651263520.785744}, "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/jira/dbt_jira_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": 1651263520.785866}, "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/jira/dbt_jira_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": 1651263520.785989}, "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/jira/dbt_jira_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": 1651263520.786122}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.788835}, "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/jira/dbt_jira_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": 1651263520.789006}, "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/jira/dbt_jira_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": 1651263520.789166}, "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/jira/dbt_jira_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": 1651263520.7893162}, "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/jira/dbt_jira_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": 1651263520.791098}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.791994}, "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/jira/dbt_jira_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": 1651263520.792138}, "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/jira/dbt_jira_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": 1651263520.7924118}, "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/jira/dbt_jira_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": 1651263520.792692}, "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/jira/dbt_jira_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({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.792819}, "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/jira/dbt_jira_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": 1651263520.792941}, "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/jira/dbt_jira_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": 1651263520.793061}, "macro.fivetran_utils.generate_docs": {"unique_id": "macro.fivetran_utils.generate_docs", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/fivetran_utils", "path": "macros/generate_docs.sql", "original_file_path": "macros/generate_docs.sql", "name": "generate_docs", "macro_sql": "{% macro generate_docs(package) %}\n\n{% set package = \"\"~ package ~\"\" %}\n\n{% set zsh_command = \"source dbt_packages/fivetran_utils/generate_docs.sh '../dbt_\"\"\"~ package ~\"\"\"\"+\"'\" %}\n\n{{ log (zsh_command, info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.793487}, "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/jira/dbt_jira_source/integration_tests/dbt_packages/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": ["macro.fivetran_utils.get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7949262}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7954838}, "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/jira/dbt_jira_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": 1651263520.796053}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.796587}, "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/jira/dbt_jira_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": 1651263520.796787}, "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/jira/dbt_jira_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": 1651263520.797003}, "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/jira/dbt_jira_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": 1651263520.7973142}, "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/jira/dbt_jira_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": 1651263520.7982368}, "macro.fivetran_utils.staging_models_automation": {"unique_id": "macro.fivetran_utils.staging_models_automation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/fivetran_utils", "path": "macros/staging_models_automation.sql", "original_file_path": "macros/staging_models_automation.sql", "name": "staging_models_automation", "macro_sql": "{% macro staging_models_automation(package, source_schema, source_database, tables) %}\n\n{% set package = \"\"~ package ~\"\" %}\n{% set source_schema = \"\"~ source_schema ~\"\" %}\n{% set source_database = \"\"~ source_database ~\"\" %}\n\n{% set zsh_command_columns = \"source dbt_packages/fivetran_utils/generate_columns.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n{% set zsh_command_models = \"source dbt_packages/fivetran_utils/generate_models.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n\n{%- set columns_array = [] -%}\n{%- set models_array = [] -%}\n\n{% for t in tables %}\n {% set help_command = zsh_command_columns + t %}\n {{ columns_array.append(help_command) }}\n\n {% set help_command = zsh_command_models + t %}\n {{ models_array.append(help_command) }}\n\n{% endfor %}\n\n{{ log(columns_array|join(' && \\n') + ' && \\n' + models_array|join(' && \\n'), info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7996411}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.803564}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.8039548}, "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/jira/dbt_jira_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": 1651263520.804451}, "macro.fivetran_utils.default__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.default__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "default__get_columns_for_macro", "macro_sql": "{% macro default__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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.805529}, "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/jira/dbt_jira_source/integration_tests/dbt_packages/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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.805983}, "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/jira/dbt_jira_source/integration_tests/dbt_packages/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": ["macro.fivetran_utils.bigquery__get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.806199}, "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/jira/dbt_jira_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": 1651263520.807713}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.8082519}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8088598}, "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/jira/dbt_jira_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": 1651263520.8090181}, "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/jira/dbt_jira_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": 1651263520.80917}, "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/jira/dbt_jira_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": 1651263520.809333}, "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/jira/dbt_jira_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": 1651263520.8094761}, "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/jira/dbt_jira_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": 1651263520.809622}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.810336}, "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/jira/dbt_jira_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": 1651263520.811397}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.812171}, "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/jira/dbt_jira_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": 1651263520.8123362}, "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/jira/dbt_jira_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": 1651263520.812496}, "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/jira/dbt_jira_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": 1651263520.812665}, "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/jira/dbt_jira_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": 1651263520.812819}, "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/jira/dbt_jira_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": 1651263520.812992}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.81332}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.81342}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.813523}, "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/jira/dbt_jira_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": 1651263520.8142211}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.815407}, "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/jira/dbt_jira_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": 1651263520.817169}, "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/jira/dbt_jira_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": 1651263520.818579}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.8188941}, "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/jira/dbt_jira_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": 1651263520.8189929}, "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/jira/dbt_jira_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": 1651263520.819088}, "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/jira/dbt_jira_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": 1651263520.819526}, "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/jira/dbt_jira_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": 1651263520.819962}, "macro.jira_source.get_issue_link_columns": {"unique_id": "macro.jira_source.get_issue_link_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_link_columns.sql", "original_file_path": "macros/get_issue_link_columns.sql", "name": "get_issue_link_columns", "macro_sql": "{% macro get_issue_link_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"related_issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"relationship\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8205938}, "macro.jira_source.get_issue_columns": {"unique_id": "macro.jira_source.get_issue_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_columns.sql", "original_file_path": "macros/get_issue_columns.sql", "name": "get_issue_columns", "macro_sql": "{% macro get_issue_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"_original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"assignee\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creator\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"environment\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"issue_type\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n\n {\"name\": \"original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"priority\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reporter\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"resolution\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"resolved\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status_category_changed\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"updated\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"work_ratio\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_float", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.823694}, "macro.jira_source.get_status_columns": {"unique_id": "macro.jira_source.get_status_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_status_columns.sql", "original_file_path": "macros/get_status_columns.sql", "name": "get_status_columns", "macro_sql": "{% macro get_status_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.824424}, "macro.jira_source.get_status_category_columns": {"unique_id": "macro.jira_source.get_status_category_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_status_category_columns.sql", "original_file_path": "macros/get_status_category_columns.sql", "name": "get_status_category_columns", "macro_sql": "{% macro get_status_category_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8249521}, "macro.jira_source.get_issue_field_history_columns": {"unique_id": "macro.jira_source.get_issue_field_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_field_history_columns.sql", "original_file_path": "macros/get_issue_field_history_columns.sql", "name": "get_issue_field_history_columns", "macro_sql": "{% macro get_issue_field_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1651263520.826477}, "macro.jira_source.get_comment_columns": {"unique_id": "macro.jira_source.get_comment_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_comment_columns.sql", "original_file_path": "macros/get_comment_columns.sql", "name": "get_comment_columns", "macro_sql": "{% macro get_comment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"body\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"is_public\", \"datatype\": \"boolean\"},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"update_author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated\", \"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", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.827701}, "macro.jira_source.get_field_columns": {"unique_id": "macro.jira_source.get_field_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_field_columns.sql", "original_file_path": "macros/get_field_columns.sql", "name": "get_field_columns", "macro_sql": "{% macro get_field_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_array\", \"datatype\": \"boolean\"},\n {\"name\": \"is_custom\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.828439}, "macro.jira_source.get_version_columns": {"unique_id": "macro.jira_source.get_version_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_version_columns.sql", "original_file_path": "macros/get_version_columns.sql", "name": "get_version_columns", "macro_sql": "{% macro get_version_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"overdue\", \"datatype\": \"boolean\"},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"release_date\", \"datatype\": \"date\"},\n {\"name\": \"released\", \"datatype\": \"boolean\"},\n {\"name\": \"start_date\", \"datatype\": \"date\"}\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": 1651263520.829615}, "macro.jira_source.get_field_option_columns": {"unique_id": "macro.jira_source.get_field_option_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_field_option_columns.sql", "original_file_path": "macros/get_field_option_columns.sql", "name": "get_field_option_columns", "macro_sql": "{% macro get_field_option_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.830176}, "macro.jira_source.get_issue_multiselect_history_columns": {"unique_id": "macro.jira_source.get_issue_multiselect_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_multiselect_history_columns.sql", "original_file_path": "macros/get_issue_multiselect_history_columns.sql", "name": "get_issue_multiselect_history_columns", "macro_sql": "{% macro get_issue_multiselect_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\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1651263520.831564}, "macro.jira_source.get_epic_columns": {"unique_id": "macro.jira_source.get_epic_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_epic_columns.sql", "original_file_path": "macros/get_epic_columns.sql", "name": "get_epic_columns", "macro_sql": "{% macro get_epic_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"done\", \"datatype\": \"boolean\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.832372}, "macro.jira_source.get_issue_type_columns": {"unique_id": "macro.jira_source.get_issue_type_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_type_columns.sql", "original_file_path": "macros/get_issue_type_columns.sql", "name": "get_issue_type_columns", "macro_sql": "{% macro get_issue_type_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"subtask\", \"datatype\": \"boolean\"}\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": 1651263520.8330839}, "macro.jira_source.get_user_columns": {"unique_id": "macro.jira_source.get_user_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_user_columns.sql", "original_file_path": "macros/get_user_columns.sql", "name": "get_user_columns", "macro_sql": "{% macro get_user_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"email\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"locale\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"username\", \"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": 1651263520.8339899}, "macro.jira_source.get_project_columns": {"unique_id": "macro.jira_source.get_project_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_project_columns.sql", "original_file_path": "macros/get_project_columns.sql", "name": "get_project_columns", "macro_sql": "{% macro get_project_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"lead_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"permission_scheme_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8349938}, "macro.jira_source.get_resolution_columns": {"unique_id": "macro.jira_source.get_resolution_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_resolution_columns.sql", "original_file_path": "macros/get_resolution_columns.sql", "name": "get_resolution_columns", "macro_sql": "{% macro get_resolution_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8358011}, "macro.jira_source.get_component_columns": {"unique_id": "macro.jira_source.get_component_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_component_columns.sql", "original_file_path": "macros/get_component_columns.sql", "name": "get_component_columns", "macro_sql": "{% macro get_component_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8366988}, "macro.jira_source.get_priority_columns": {"unique_id": "macro.jira_source.get_priority_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_priority_columns.sql", "original_file_path": "macros/get_priority_columns.sql", "name": "get_priority_columns", "macro_sql": "{% macro get_priority_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.837408}, "macro.jira_source.get_sprint_columns": {"unique_id": "macro.jira_source.get_sprint_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_sprint_columns.sql", "original_file_path": "macros/get_sprint_columns.sql", "name": "get_sprint_columns", "macro_sql": "{% macro get_sprint_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"board_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"complete_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_date\", \"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_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.838576}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "overview.md", "original_file_path": "docs/overview.md", "name": "__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"], "model.jira_source.stg_jira__project": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"], "model.jira_source.stg_jira__issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"], "model.jira_source.stg_jira__version": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"], "model.jira_source.stg_jira__sprint": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"], "model.jira_source.stg_jira__field_option": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"], "model.jira_source.stg_jira__field": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"], "model.jira_source.stg_jira__resolution": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"], "model.jira_source.stg_jira__status": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"], "model.jira_source.stg_jira__issue": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"], "model.jira_source.stg_jira__status_category": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"], "model.jira_source.stg_jira__issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"], "model.jira_source.stg_jira__issue_type": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"], "model.jira_source.stg_jira__issue_link": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"], "model.jira_source.stg_jira__component": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"], "model.jira_source.stg_jira__user": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"], "model.jira_source.stg_jira__priority": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"], "model.jira_source.stg_jira__version_tmp": ["source.jira_source.jira.version"], "model.jira_source.stg_jira__status_category_tmp": ["source.jira_source.jira.status_category"], "model.jira_source.stg_jira__field_option_tmp": ["source.jira_source.jira.field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["source.jira_source.jira.issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["source.jira_source.jira.issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["source.jira_source.jira.sprint"], "model.jira_source.stg_jira__status_tmp": ["source.jira_source.jira.status"], "model.jira_source.stg_jira__project_tmp": ["source.jira_source.jira.project"], "model.jira_source.stg_jira__comment_tmp": ["source.jira_source.jira.comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["source.jira_source.jira.issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["source.jira_source.jira.issue_link"], "model.jira_source.stg_jira__field_tmp": ["source.jira_source.jira.field"], "model.jira_source.stg_jira__user_tmp": ["source.jira_source.jira.user"], "model.jira_source.stg_jira__issue_tmp": ["source.jira_source.jira.issue"], "model.jira_source.stg_jira__priority_tmp": ["source.jira_source.jira.priority"], "model.jira_source.stg_jira__component_tmp": ["source.jira_source.jira.component"], "model.jira_source.stg_jira__resolution_tmp": ["source.jira_source.jira.resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": ["model.jira_source.stg_jira__comment"], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": ["model.jira_source.stg_jira__comment"], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": ["model.jira_source.stg_jira__component"], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": ["model.jira_source.stg_jira__component"], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": ["model.jira_source.stg_jira__field_option"], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": ["model.jira_source.stg_jira__issue"], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": ["model.jira_source.stg_jira__issue"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": ["model.jira_source.stg_jira__issue_field_history"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": ["model.jira_source.stg_jira__issue_multiselect_history"], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": ["model.jira_source.stg_jira__priority"], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": ["model.jira_source.stg_jira__priority"], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": ["model.jira_source.stg_jira__project"], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": ["model.jira_source.stg_jira__project"], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": ["model.jira_source.stg_jira__resolution"], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": ["model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": ["model.jira_source.stg_jira__sprint"], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": ["model.jira_source.stg_jira__sprint"], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": ["model.jira_source.stg_jira__status"], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": ["model.jira_source.stg_jira__status"], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": ["model.jira_source.stg_jira__status_category"], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": ["model.jira_source.stg_jira__status_category"], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": ["model.jira_source.stg_jira__user"], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": ["model.jira_source.stg_jira__user"], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": ["model.jira_source.stg_jira__version"], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": ["model.jira_source.stg_jira__version"], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}, "child_map": {"seed.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"], "model.jira_source.stg_jira__project": ["test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "test.jira_source.unique_stg_jira__project_project_id.58d321d374"], "model.jira_source.stg_jira__issue_field_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"], "model.jira_source.stg_jira__version": ["test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "test.jira_source.unique_stg_jira__version_version_id.08231bd017"], "model.jira_source.stg_jira__sprint": ["test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"], "model.jira_source.stg_jira__field_option": ["test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"], "model.jira_source.stg_jira__field": ["test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"], "model.jira_source.stg_jira__resolution": ["test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"], "model.jira_source.stg_jira__status": ["test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "test.jira_source.unique_stg_jira__status_status_id.0449241b95"], "model.jira_source.stg_jira__issue": ["test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"], "model.jira_source.stg_jira__status_category": ["test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"], "model.jira_source.stg_jira__issue_multiselect_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"], "model.jira_source.stg_jira__issue_type": ["test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"], "model.jira_source.stg_jira__issue_link": [], "model.jira_source.stg_jira__component": ["test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"], "model.jira_source.stg_jira__user": ["test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"], "model.jira_source.stg_jira__priority": ["test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"], "model.jira_source.stg_jira__version_tmp": ["model.jira_source.stg_jira__version", "model.jira_source.stg_jira__version"], "model.jira_source.stg_jira__status_category_tmp": ["model.jira_source.stg_jira__status_category", "model.jira_source.stg_jira__status_category"], "model.jira_source.stg_jira__field_option_tmp": ["model.jira_source.stg_jira__field_option", "model.jira_source.stg_jira__field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["model.jira_source.stg_jira__issue_multiselect_history", "model.jira_source.stg_jira__issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["model.jira_source.stg_jira__issue_type", "model.jira_source.stg_jira__issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["model.jira_source.stg_jira__sprint", "model.jira_source.stg_jira__sprint"], "model.jira_source.stg_jira__status_tmp": ["model.jira_source.stg_jira__status", "model.jira_source.stg_jira__status"], "model.jira_source.stg_jira__project_tmp": ["model.jira_source.stg_jira__project", "model.jira_source.stg_jira__project"], "model.jira_source.stg_jira__comment_tmp": ["model.jira_source.stg_jira__comment", "model.jira_source.stg_jira__comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["model.jira_source.stg_jira__issue_field_history", "model.jira_source.stg_jira__issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["model.jira_source.stg_jira__issue_link", "model.jira_source.stg_jira__issue_link"], "model.jira_source.stg_jira__field_tmp": ["model.jira_source.stg_jira__field", "model.jira_source.stg_jira__field"], "model.jira_source.stg_jira__user_tmp": ["model.jira_source.stg_jira__user", "model.jira_source.stg_jira__user"], "model.jira_source.stg_jira__issue_tmp": ["model.jira_source.stg_jira__issue", "model.jira_source.stg_jira__issue"], "model.jira_source.stg_jira__priority_tmp": ["model.jira_source.stg_jira__priority", "model.jira_source.stg_jira__priority"], "model.jira_source.stg_jira__component_tmp": ["model.jira_source.stg_jira__component", "model.jira_source.stg_jira__component"], "model.jira_source.stg_jira__resolution_tmp": ["model.jira_source.stg_jira__resolution", "model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": [], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": [], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": [], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": [], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": [], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": [], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": [], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": [], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": [], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": [], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": [], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": [], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": [], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": [], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": [], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": [], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": [], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": [], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": [], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": [], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": [], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": [], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": [], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": [], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": [], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": [], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": [], "source.jira_source.jira.comment": ["model.jira_source.stg_jira__comment_tmp"], "source.jira_source.jira.component": ["model.jira_source.stg_jira__component_tmp"], "source.jira_source.jira.field": ["model.jira_source.stg_jira__field_tmp"], "source.jira_source.jira.field_option": ["model.jira_source.stg_jira__field_option_tmp"], "source.jira_source.jira.issue": ["model.jira_source.stg_jira__issue_tmp"], "source.jira_source.jira.issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp"], "source.jira_source.jira.issue_link": ["model.jira_source.stg_jira__issue_link_tmp"], "source.jira_source.jira.issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp"], "source.jira_source.jira.issue_type": ["model.jira_source.stg_jira__issue_type_tmp"], "source.jira_source.jira.priority": ["model.jira_source.stg_jira__priority_tmp"], "source.jira_source.jira.project": ["model.jira_source.stg_jira__project_tmp"], "source.jira_source.jira.resolution": ["model.jira_source.stg_jira__resolution_tmp"], "source.jira_source.jira.sprint": ["model.jira_source.stg_jira__sprint_tmp"], "source.jira_source.jira.status": ["model.jira_source.stg_jira__status_tmp"], "source.jira_source.jira.status_category": ["model.jira_source.stg_jira__status_category_tmp"], "source.jira_source.jira.user": ["model.jira_source.stg_jira__user_tmp"], "source.jira_source.jira.version": ["model.jira_source.stg_jira__version_tmp"]}} \ No newline at end of file diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 4fdec77..bd3af05 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -6,27 +6,27 @@ profile: 'integration_tests' vars: jira_source: - comment: "{{ ref('comment') }}" - component: "{{ ref('component') }}" - epic: "{{ ref('epic') }}" - field: "{{ ref('field') }}" - field_option: "{{ ref('field_option') }}" - issue_field_history: "{{ ref('issue_field_history') }}" - issue_link: "{{ ref('issue_link') }}" - issue_multiselect_history: "{{ ref('issue_multiselect_history') }}" - issue_type: "{{ ref('issue_type') }}" - issue: "{{ ref('issue') }}" - priority: "{{ ref('priority') }}" - project_board: "{{ ref('project_board') }}" - project_category: "{{ ref('project_category') }}" - project: "{{ ref('project') }}" - resolution: "{{ ref('resolution') }}" - sprint: "{{ ref('sprint') }}" - status_category: "{{ ref('status_category') }}" - status: "{{ ref('status') }}" - user_group: "{{ ref('user_group') }}" - user: "{{ ref('user') }}" - version: "{{ ref('version') }}" + jira__comment_identifier: "comment" + jira__component_identifier: "component" + jira__epic_identifier: "epic" + jira__field_identifier: "field" + jira__field_option_identifier: "field_option" + jira__issue_field_history_identifier: "issue_field_history" + jira__issue_link_identifier: "issue_link" + jira__issue_multiselect_history_identifier: "issue_multiselect_history" + jira__issue_type_identifier: "issue_type" + jira__issue_identifier: "issue" + jira__priority_identifier: "priority" + jira__project_board_identifier: "project_board" + jira__project_category_identifier: "project_category" + jira__project_identifier: "project" + jira__resolution_identifier: "resolution" + jira__sprint_identifier: "sprint" + jira__status_category_identifier: "status_category" + jira__status_identifier: "status" + jira__user_group_identifier: "user_group" + jira__user_identifier: "user" + jira__version_identifier: "version" jira_schema: jira_source_integration_tests diff --git a/models/src_jira.yml b/models/src_jira.yml index b730905..144db62 100644 --- a/models/src_jira.yml +++ b/models/src_jira.yml @@ -16,6 +16,7 @@ sources: tables: - name: comment + identifier: "{{ var('jira__comment_identifier', 'comment')}}" description: Table of comments made on issues. columns: - name: id @@ -36,6 +37,7 @@ sources: description: Timestamp of when the comment was last updated. - name: component + identifier: "{{ var('jira__component_identifier', 'component')}}" description: > Table of project components (subsections to group issues). columns: @@ -48,7 +50,8 @@ sources: - name: project_id description: Foreign key referencing the id of the component's `project`. - - name: field + - name: field + identifier: "{{ var('jira__field_identifier', 'field')}}" description: Table of all issue fields. columns: - name: id @@ -65,6 +68,7 @@ sources: description: Name of the field as it appears on issue cards. - name: field_option + identifier: "{{ var('jira__field_option_identifier', 'field_option')}}" description: Table of all options related to custom fields. columns: - name: id @@ -73,6 +77,7 @@ sources: description: Name of the field option. - name: issue + identifier: "{{ var('jira__issue_identifier', 'issue')}}" description: Table of all issues in your organization's Jira (captures soft deletes). columns: - name: id @@ -135,6 +140,7 @@ sources: Equals -1.0 when the fields required for calculation are not provided. - name: issue_field_history + identifier: "{{ var('jira__issue_field_history_identifier', 'issue_field_history')}}" description: Table of every value that each **custom non-array** (not multiselect) field has been set to. columns: - name: field_id @@ -147,6 +153,7 @@ sources: description: Content of the value of that the field was set to. - name: issue_link + identifier: "{{ var('jira__issue_link_identifier', 'issue_link')}}" description: > Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships. columns: @@ -158,6 +165,7 @@ sources: description: The nature of the link between the two issues ("blocks", "is duplicated by", "relates to", etc.) - name: issue_multiselect_history + identifier: "{{ var('jira__issue_multiselect_history_identifier', 'issue_multiselect_history')}}" description: > Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value. columns: @@ -173,6 +181,7 @@ sources: description: Content of the value of that the field was set to. - name: issue_type + identifier: "{{ var('jira__issue_type_identifier', 'issue_type')}}" description: > Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions. @@ -187,6 +196,7 @@ sources: description: Boolean that is true if this type of issue is a subtask. - name: priority + identifier: "{{ var('jira__priority_identifier', 'priority')}}" description: Table of issue priority levels (global). columns: - name: id @@ -197,6 +207,7 @@ sources: description: Name of the priority as it appears in the UI. - name: project + identifier: "{{ var('jira__project_identifier', 'project')}}" description: Table of all projects in your organization. columns: - name: id @@ -217,6 +228,7 @@ sources: description: ID of the type of project (ie 'software'). - name: resolution + identifier: "{{ var('jira__resolution_identifier', 'resolution')}}" description: Table storing the types of resolutions used by your organization. columns: - name: id @@ -227,6 +239,7 @@ sources: description: Display name of the resolution. - name: sprint + identifier: "{{ var('jira__sprint_identifier', 'sprint')}}" description: Table of all sprints. columns: - name: id @@ -243,6 +256,7 @@ sources: description: Timestamp of when the sprint began. - name: status + identifier: "{{ var('jira__status_identifier', 'status')}}" description: Table of project-level statuses (which may have the same umbrella `status_category`). columns: - name: id @@ -257,6 +271,7 @@ sources: description: Foreign key referencing the ID of the `status_category` that this project status falls under. - name: status_category + identifier: "{{ var('jira__status_category_identifier', 'status_category')}}" description: Table of overarching status categories. columns: - name: id @@ -265,6 +280,7 @@ sources: description: Title of the status category. - name: user + identifier: "{{ var('jira__user_identifier', 'user')}}" description: Table of users associated with your organization. columns: - name: id @@ -281,6 +297,7 @@ sources: description: Account username. - name: version + identifier: "{{ var('jira__version_identifier', 'version')}}" description: Table of project versions in your organization. columns: - name: archived diff --git a/models/stg_jira__comment.sql b/models/stg_jira__comment.sql index 017e8ac..7357fb0 100644 --- a/models/stg_jira__comment.sql +++ b/models/stg_jira__comment.sql @@ -22,12 +22,12 @@ final as ( select author_id as author_user_id, body, - created as created_at, + cast(created as {{ dbt_utils.type_timestamp() }}) as created_at, id as comment_id, issue_id, is_public, update_author_id as last_update_user_id, - updated as last_updated_at, + cast(updated as {{ dbt_utils.type_timestamp() }}) as last_updated_at, _fivetran_synced from fields ) diff --git a/models/stg_jira__issue.sql b/models/stg_jira__issue.sql index be91330..86baf32 100644 --- a/models/stg_jira__issue.sql +++ b/models/stg_jira__issue.sql @@ -24,16 +24,11 @@ final as ( coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds, coalesce(time_spent, _time_spent) as time_spent_seconds, assignee as assignee_user_id, - {% if target.type == 'redshift' -%} - cast(created as timestamp without time zone) as created_at, - cast(resolved as timestamp without time zone) as resolved_at, - {% else -%} - created as created_at, - resolved as resolved_at, - {% endif %} + cast(created as {{ dbt_utils.type_timestamp() }}) as created_at, + cast(resolved as {{ dbt_utils.type_timestamp() }}) as resolved_at, creator as creator_user_id, description as issue_description, - due_date, + cast(due_date as {{ dbt_utils.type_timestamp() }}) as due_date, environment, id as issue_id, issue_type as issue_type_id, @@ -44,9 +39,9 @@ final as ( reporter as reporter_user_id, resolution as resolution_id, status as status_id, - status_category_changed as status_changed_at, + cast(status_category_changed as {{ dbt_utils.type_timestamp() }}) as status_changed_at, summary as issue_name, - updated as updated_at, + cast(updated as {{ dbt_utils.type_timestamp() }}) as updated_at, work_ratio, _fivetran_synced from fields diff --git a/models/stg_jira__issue_field_history.sql b/models/stg_jira__issue_field_history.sql index df0f4fd..2c59379 100644 --- a/models/stg_jira__issue_field_history.sql +++ b/models/stg_jira__issue_field_history.sql @@ -23,11 +23,11 @@ final as ( cast(field_id as {{ dbt_utils.type_string() }}) as field_id, issue_id, {% if target.type == 'snowflake' -%} - "TIME" + cast("TIME" as {{ dbt_utils.type_timestamp() }}) {% elif target.type == 'redshift' -%} - cast("time" as timestamp without time zone) + cast("time" as {{ dbt_utils.type_timestamp() }}) {% else -%} - time + cast(time as {{ dbt_utils.type_timestamp() }}) {% endif %} as updated_at, value as field_value, _fivetran_synced diff --git a/models/stg_jira__issue_multiselect_history.sql b/models/stg_jira__issue_multiselect_history.sql index 1bd8991..2f03be9 100644 --- a/models/stg_jira__issue_multiselect_history.sql +++ b/models/stg_jira__issue_multiselect_history.sql @@ -24,11 +24,11 @@ final as ( cast(field_id as {{ dbt_utils.type_string() }}) as field_id, issue_id, {% if target.type == 'snowflake' %} - "TIME" + cast("TIME" as {{ dbt_utils.type_timestamp() }}) {% elif target.type == 'redshift' %} - "time" + cast("time" as {{ dbt_utils.type_timestamp() }}) {% else %} - time + cast(time as {{ dbt_utils.type_timestamp() }}) {% endif %} as updated_at, value as field_value, _fivetran_synced diff --git a/models/stg_jira__sprint.sql b/models/stg_jira__sprint.sql index ea5cf22..21a9d60 100644 --- a/models/stg_jira__sprint.sql +++ b/models/stg_jira__sprint.sql @@ -24,9 +24,9 @@ final as ( id as sprint_id, name as sprint_name, board_id, - complete_date as completed_at, - end_date as ended_at, - start_date as started_at, + cast(complete_date as {{ dbt_utils.type_timestamp() }}) as completed_at, + cast(end_date as {{ dbt_utils.type_timestamp() }}) as ended_at, + cast(start_date as {{ dbt_utils.type_timestamp() }}) as started_at, _fivetran_synced from fields ) diff --git a/models/stg_jira__version.sql b/models/stg_jira__version.sql index 418b24f..98afc64 100644 --- a/models/stg_jira__version.sql +++ b/models/stg_jira__version.sql @@ -27,9 +27,9 @@ final as ( name as version_name, overdue as is_overdue, project_id, - release_date, + cast(release_date as {{ dbt_utils.type_timestamp() }}) as release_date, released as is_released, - start_date + cast(start_date as {{ dbt_utils.type_timestamp() }}) as start_date from fields ) From 0512192ffc71209a27c198f0f2b3580ed6edc57c Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Fri, 29 Apr 2022 15:54:34 -0500 Subject: [PATCH 16/40] due date fix --- models/stg_jira__issue.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/stg_jira__issue.sql b/models/stg_jira__issue.sql index 86baf32..7a2646c 100644 --- a/models/stg_jira__issue.sql +++ b/models/stg_jira__issue.sql @@ -28,7 +28,7 @@ final as ( cast(resolved as {{ dbt_utils.type_timestamp() }}) as resolved_at, creator as creator_user_id, description as issue_description, - cast(due_date as {{ dbt_utils.type_timestamp() }}) as due_date, + due_date, environment, id as issue_id, issue_type as issue_type_id, From 5ee21d94d99360eaf8f85cc8b568cf13d06cbbbf Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Tue, 10 May 2022 09:49:19 -0500 Subject: [PATCH 17/40] Update README.md --- README.md | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 0b47287..efa03db 100644 --- a/README.md +++ b/README.md @@ -20,18 +20,10 @@ - Materializes staging tables which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation) and is intended to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira) - Refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these materialized models. -# 🤔 Who is the target user of this dbt package? -- You use Fivetran's [Jira connector](https://fivetran.com/docs/applications/Jira) -- You use dbt -- You want a staging layer that cleans, tests, and prepares your Jira data for analysis -- (Optional) You want to make use of the [Jira Modeling dbt Package](https://github.com/fivetran/dbt_jira) # 🎯 How do I use the dbt package? -To effectively install this package and leverage the pre-made models, you will follow the below steps: ## Step 1: Pre-Requisites -You will need to ensure you have the following before leveraging the dbt package. - **Connector**: Have the Fivetran Jira connector syncing data into your warehouse. - **Database support**: This package has been tested on **BigQuery**, **Snowflake**, **Redshift**, and **Postgres**. Ensure you are using one of these supported databases. -- **dbt Version**: This dbt package requires you have a functional dbt project that utilizes a dbt version within the respective range `>=1.0.0, <2.0.0`. ## Step 2: Installing the Package Include the following jira_source package version in your `packages.yml` > 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. @@ -48,7 +40,6 @@ By default, this package will run using your target database and the `jira` sche vars: jira_database: your_database_name jira_schema: your_schema_name - jira___identifier: your_table_name ``` ### Disabling Components Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: @@ -59,22 +50,34 @@ vars: jira_using_components: false # Disable if you do not have the component table, or if you do not want component related metrics reported jira_using_versions: false # Disable if you do not have the versions table, or if you do not want versions related metrics reported ``` + ## (Optional) Step 4: Additional Configurations +
Expand for instructions + ### Change the Build Schema -By default, this package builds the GitHub staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your GitHub staging data to be written to, add the following configuration to your root `dbt_project.yml` file: +By default, this package builds the Jira staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: ```yml models: jira_source: +schema: my_new_schema_name # leave blank for just the target_schema ``` + +### Change the Source Table References +If an individual source table has a different name than expected (see this projects [dbt_project.yml](https://github.com/fivetran/dbt_jira_source/blob/main/dbt_project.yml) variable declarations for expected names), provide the name of the table as it appears in your warehouse to the respecitve variable as identified below: +```yml +vars: + jira__identifier: your_table_name +``` +
-## Step 5: Finish Setup -Your dbt project is now setup to successfully run the dbt package models! You can now execute `dbt run` and `dbt test` to have the models materialize in your warehouse and execute the data integrity tests applied within the package. - -## (Optional) Step 6: Orchestrate your package models with Fivetran -Fivetran offers the ability for you to orchestrate your dbt project through the [Fivetran Transformations for dbt Core](https://fivetran.com/docs/transformations/dbt) product. Refer to the linked docs for more information on how to setup your project for orchestration through Fivetran. - +## (Optional) Step 5: Orchestrate your models with Fivetran Transformations for dbt Core™ +
Expand for details +
+ +Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt). Refer to the linked docs for more information on how to setup your project for orchestration through Fivetran. +
+ # 🔍 Does this package have dependencies? This dbt package is dependent on the following dbt packages. For more information on the below packages, refer to the [dbt hub](https://hub.getdbt.com/) site. > **If you have any of these dependent packages in your own `packages.yml` I highly recommend you remove them to ensure there are no package version conflicts.** @@ -86,6 +89,7 @@ packages: - 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 you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/jira_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_jira_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. @@ -98,4 +102,4 @@ We highly encourage and welcome contributions to this package. Check out [this p # 🏪 Are there any resources available? - If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_jira_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 future dbt package to be developed, then feel free to 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 [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or send us an email at solutions@fivetran.com. \ No newline at end of file +- Have questions or want to just say hi? Book a time during our office hours [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or send us an email at solutions@fivetran.com. From 2dae8213015bcb9f5101c2523bcf209d79d8cfe5 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Tue, 10 May 2022 09:54:24 -0500 Subject: [PATCH 18/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index efa03db..dd66a03 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ vars: ``` ## (Optional) Step 4: Additional Configurations -
Expand for instructions +
Expand for configurations ### Change the Build Schema By default, this package builds the Jira staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: From 73db0677ee1a8810d7ed77aa79c7aab15cc5a063 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Wed, 11 May 2022 09:04:42 -0500 Subject: [PATCH 19/40] Update README.md --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dd66a03..ce204fa 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,7 @@ packages: - package: fivetran/jira_source version: [">=0.5.0", "<0.6.0"] ``` -## Step 3: Configure Your Variables -### Database and Schema Variables +## Step 3: Configure Database and Schema Variables By default, this package will run using your target database and the `jira` schema. If this is not where your Jira data is (perhaps your Jira schema is `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: ```yml @@ -41,7 +40,7 @@ vars: jira_database: your_database_name jira_schema: your_schema_name ``` -### Disabling Components +## Step 4: Disable Models for Non Existent Sources Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: ```yml @@ -51,7 +50,7 @@ vars: jira_using_versions: false # Disable if you do not have the versions table, or if you do not want versions related metrics reported ``` -## (Optional) Step 4: Additional Configurations +## (Optional) Step 5: Additional Configurations
Expand for configurations ### Change the Build Schema @@ -71,7 +70,7 @@ vars: ```
-## (Optional) Step 5: Orchestrate your models with Fivetran Transformations for dbt Core™ +## (Optional) Step 6: Orchestrate your models with Fivetran Transformations for dbt Core™
Expand for details
From ac13ef4ffa68e2baf353ff251862a4edc8cc5059 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Wed, 11 May 2022 09:05:12 -0500 Subject: [PATCH 20/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce204fa..43c757f 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ packages: - package: fivetran/jira_source version: [">=0.5.0", "<0.6.0"] ``` -## Step 3: Configure Database and Schema Variables +## Step 3: Define Database and Schema Variables By default, this package will run using your target database and the `jira` schema. If this is not where your Jira data is (perhaps your Jira schema is `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: ```yml From d8dd17d0a4f68721e58404b20477d1dfd2b73859 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Wed, 11 May 2022 12:36:35 -0500 Subject: [PATCH 21/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43c757f..06d8abe 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ href="https://fivetran.com/docs/getting-started/core-concepts#releasephases"> - + From bd3fb04375206165f2ac4d6e4f408121f9183237 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Wed, 11 May 2022 12:36:54 -0500 Subject: [PATCH 22/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 06d8abe..19d59d2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ href="https://fivetran.com/docs/getting-started/core-concepts#releasephases"> - + From d566ae47e64a88db431338bf3a11747f81b340e7 Mon Sep 17 00:00:00 2001 From: Chloe Peterson-Cochrane <54036902+fivetran-chloe@users.noreply.github.com> Date: Wed, 11 May 2022 16:56:09 -0700 Subject: [PATCH 23/40] Reword for clarity and style --- README.md | 64 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 19d59d2..3243f06 100644 --- a/README.md +++ b/README.md @@ -15,33 +15,34 @@ # Jira Source dbt Package ([Docs](https://fivetran.github.io/dbt_jira_source/)) # 📣 What does this dbt package do? -- Cleans, tests, and prepares your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/Jira) for analysis. -- Generates a comprehensive data dictionary of your Jira data via the [dbt docs site](https://fivetran.github.io/dbt_jira_source/) -- Materializes staging tables which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation) and is intended to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira) - - Refer to our [Docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) for more details about these materialized models. +- Cleans, tests, and prepares your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) for analysis. +- Generates a comprehensive data dictionary of your Jira data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/) +- Materializes staging tables that leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These tables are designed to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira). Learn more about these models on the [dbt docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1). # 🎯 How do I use the dbt package? -## Step 1: Pre-Requisites -- **Connector**: Have the Fivetran Jira connector syncing data into your warehouse. -- **Database support**: This package has been tested on **BigQuery**, **Snowflake**, **Redshift**, and **Postgres**. Ensure you are using one of these supported databases. -## Step 2: Installing the Package -Include the following jira_source package version in your `packages.yml` -> 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. +## Step 1: Prerequisites +To use this dbt package, you must have the following: +- At least one Fivetran Jira connector syncing data into your destination. +- A **BigQuery**, **Snowflake**, **Redshift**, or **PostgreSQL** destination. + +## Step 2: Install the package +Include the following jira_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/jira_source version: [">=0.5.0", "<0.6.0"] ``` -## Step 3: Define Database and Schema Variables -By default, this package will run using your target database and the `jira` schema. If this is not where your Jira data is (perhaps your Jira schema is `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: +## Step 3: Define database and schema variables +By default, this package runs using your target database and the `jira` schema. If this is not where your Jira data is (for example, if your Jira schema is named `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: ```yml vars: jira_database: your_database_name jira_schema: your_schema_name ``` -## Step 4: Disable Models for Non Existent Sources -Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: +## Step 4: Disable models for non-existent sources +Your Jira connector may not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: ```yml vars: @@ -50,11 +51,11 @@ vars: jira_using_versions: false # Disable if you do not have the versions table, or if you do not want versions related metrics reported ``` -## (Optional) Step 5: Additional Configurations -
Expand for configurations +## (Optional) Step 5: Additional configurations +
Expand to view configurations -### Change the Build Schema -By default, this package builds the Jira staging models within a schema titled ( + `_stg_jira`) in your target database. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: +### Change the build schema +By default, this package builds the Jira staging models within a schema titled (`` + `_stg_jira`) in your target database. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: ```yml models: @@ -62,24 +63,27 @@ models: +schema: my_new_schema_name # leave blank for just the target_schema ``` -### Change the Source Table References -If an individual source table has a different name than expected (see this projects [dbt_project.yml](https://github.com/fivetran/dbt_jira_source/blob/main/dbt_project.yml) variable declarations for expected names), provide the name of the table as it appears in your warehouse to the respecitve variable as identified below: +### 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_jira_source/blob/main/dbt_project.yml) variable declarations to see the expected names. + ```yml vars: jira__identifier: your_table_name ``` +
## (Optional) Step 6: Orchestrate your models with Fivetran Transformations for dbt Core™ -
Expand for details +
Expand to view details
-Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt). Refer to the linked docs for more information on how to setup your project for orchestration through Fivetran. +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. For more information on the below packages, refer to the [dbt hub](https://hub.getdbt.com/) site. -> **If you have any of these dependent packages in your own `packages.yml` I highly recommend you remove them to ensure there are no package version conflicts.** +This dbt package is dependent on the following dbt packages. 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 to avoid package version conflicts. ```yml packages: - package: fivetran/fivetran_utils @@ -91,14 +95,14 @@ packages: # 🙌 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 you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/jira_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_jira_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. +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/jira_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_jira_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. ## Contributions -These dbt packages are developed by a small team of analytics engineers at Fivetran. However, the packages are made better by community contributions! +A small team of analytics engineers at Fivetran develops these dbt packages. However, the packages are made better by community contributions! -We highly encourage and welcome contributions to this package. 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! # 🏪 Are there any resources available? -- If you encounter any questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_jira_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 future dbt package to be developed, then feel free to 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 [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or send us an email at solutions@fivetran.com. +- If you have questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_jira_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. From cd93608a59bd0723dd9ff215c9741ce59a310f0c Mon Sep 17 00:00:00 2001 From: Chloe Peterson-Cochrane <54036902+fivetran-chloe@users.noreply.github.com> Date: Thu, 12 May 2022 15:46:29 -0700 Subject: [PATCH 24/40] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3243f06..832f20b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ packages: version: [">=0.5.0", "<0.6.0"] ``` ## Step 3: Define database and schema variables -By default, this package runs using your target database and the `jira` schema. If this is not where your Jira data is (for example, if your Jira schema is named `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: +By default, this package runs using your destination and the `jira` schema. If this is not where your Jira data is (for example, if your Jira schema is named `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: ```yml vars: @@ -55,7 +55,7 @@ vars:
Expand to view configurations ### Change the build schema -By default, this package builds the Jira staging models within a schema titled (`` + `_stg_jira`) in your target database. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: +By default, this package builds the Jira staging models within a schema titled (`` + `_stg_jira`) in your destination. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: ```yml models: From 88c54aab22cbc32a70e4fbcf0a135d44bdfde05b Mon Sep 17 00:00:00 2001 From: Chloe Peterson-Cochrane <54036902+fivetran-chloe@users.noreply.github.com> Date: Thu, 12 May 2022 15:51:16 -0700 Subject: [PATCH 25/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 832f20b..611a7de 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ models: ### 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_jira_source/blob/main/dbt_project.yml) variable declarations to see the expected names. +> IMPORTANT: See this project's [`dbt_project.yml`](https://github.com/fivetran/dbt_jira_source/blob/main/dbt_project.yml) variable declarations to see the expected names. ```yml vars: From 8b2b12df3b42c08c03e1b05b368aecdb8f204506 Mon Sep 17 00:00:00 2001 From: Chloe Peterson-Cochrane <54036902+fivetran-chloe@users.noreply.github.com> Date: Thu, 12 May 2022 15:58:16 -0700 Subject: [PATCH 26/40] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 611a7de..7a65200 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ By default, this package runs using your destination and the `jira` schema. If t ```yml vars: - jira_database: your_database_name + jira_database: your_destination_name jira_schema: your_schema_name ``` ## Step 4: Disable models for non-existent sources @@ -46,9 +46,9 @@ Your Jira connector may not sync every table that this package expects. If you d ```yml vars: - jira_using_sprints: false # Disable if you do not have the sprint table, or if you do not want sprint related metrics reported - jira_using_components: false # Disable if you do not have the component table, or if you do not want component related metrics reported - jira_using_versions: false # Disable if you do not have the versions table, or if you do not want versions related metrics reported + jira_using_sprints: false # Disable if you do not have the sprint table or do not want sprint-related metrics reported + jira_using_components: false # Disable if you do not have the component table or do not want component-related metrics reported + jira_using_versions: false # Disable if you do not have the versions table or do not want versions-related metrics reported ``` ## (Optional) Step 5: Additional configurations From 21096d934eba3f8298412cb2bc8dff26cc166b7f Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 09:47:28 -0500 Subject: [PATCH 27/40] Update README.md --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7a65200..171e62f 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,12 @@ # Jira Source dbt Package ([Docs](https://fivetran.github.io/dbt_jira_source/)) # 📣 What does this dbt package do? -- Cleans, tests, and prepares your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) for analysis. -- Generates a comprehensive data dictionary of your Jira data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/) -- Materializes staging tables that leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These tables are designed to work simultaneously with our [Jira modeling package](https://github.com/fivetran/dbt_jira). Learn more about these models on the [dbt docs site](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1). +- Materializes [Jira staging tables](https://fivetran.github.io/dbt_jira_source/#!/overview/github_source/models/?g_v=1) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These staging tables clean, test, and prepare your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) for analysis by doing the following: + - Name columns for consistency across all packages and 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 GitHub data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/). +- These tables are designed to work simultaneously with our [GitHub transformation package](https://github.com/fivetran/dbt_jira). # 🎯 How do I use the dbt package? ## Step 1: Prerequisites From 7a7ff93e5bae144bb4c1b80bad59766eff9e3ba0 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 09:47:35 -0500 Subject: [PATCH 28/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 171e62f..ce73793 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ - 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 GitHub data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/). -- These tables are designed to work simultaneously with our [GitHub transformation package](https://github.com/fivetran/dbt_jira). +- These tables are designed to work simultaneously with our [Jira transformation package](https://github.com/fivetran/dbt_jira). # 🎯 How do I use the dbt package? ## Step 1: Prerequisites From 6b30f006c2531a07cb094b21bcfcdaded4b6b72d Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 09:48:30 -0500 Subject: [PATCH 29/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce73793..13a06b9 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ - Name columns for consistency across all packages and 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 GitHub data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/). +- Generates a comprehensive data dictionary of your Jira data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/). - These tables are designed to work simultaneously with our [Jira transformation package](https://github.com/fivetran/dbt_jira). # 🎯 How do I use the dbt package? From 81f3beb2bbeb33a89533635a728483c3023fea6a Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 09:53:44 -0500 Subject: [PATCH 30/40] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 13a06b9..f67f7b6 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,8 @@ Fivetran offers the ability for you to orchestrate your dbt project through [Fiv
# 🔍 Does this package have dependencies? -This dbt package is dependent on the following dbt packages. 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 to avoid package version conflicts. +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 packages: - package: fivetran/fivetran_utils From f6009386d9f21282e107a6e6aceeedb76d7b56b3 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 10:53:59 -0500 Subject: [PATCH 31/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f67f7b6..0af2910 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ # Jira Source dbt Package ([Docs](https://fivetran.github.io/dbt_jira_source/)) # 📣 What does this dbt package do? - Materializes [Jira staging tables](https://fivetran.github.io/dbt_jira_source/#!/overview/github_source/models/?g_v=1) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These staging tables clean, test, and prepare your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) for analysis by doing the following: - - Name columns for consistency across all packages and easier analysis + - 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 Jira data through the [dbt docs site](https://fivetran.github.io/dbt_jira_source/). From a0b16df49f4d73c213a5ee40804d67e560b51327 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 16:01:39 -0500 Subject: [PATCH 32/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0af2910..50ccbf8 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ # Jira Source dbt Package ([Docs](https://fivetran.github.io/dbt_jira_source/)) # 📣 What does this dbt package do? -- Materializes [Jira staging tables](https://fivetran.github.io/dbt_jira_source/#!/overview/github_source/models/?g_v=1) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These staging tables clean, test, and prepare your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) for analysis by doing the following: +- Materializes [Jira staging tables](https://fivetran.github.io/dbt_jira_source/#!/overview/stripe_source/models/?g_v=1) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These staging tables clean, test, and prepare your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) 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. From ff88ac425372aac4c6315d7aae8ffc76bed5fa03 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 16:02:36 -0500 Subject: [PATCH 33/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 50ccbf8..f6700c7 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ packages: version: [">=0.5.0", "<0.6.0"] ``` ## Step 3: Define database and schema variables -By default, this package runs using your destination and the `jira` schema. If this is not where your Jira data is (for example, if your Jira schema is named `jira_fivetran` and your `issue` table is named `usa_issue`), add the following configuration to your root `dbt_project.yml` file: +By default, this package runs using your destination and the `jira` schema. If this is not where your Jira data is (for example, if your Jira schema is named `jira_fivetran`), add the following configuration to your root `dbt_project.yml` file: ```yml vars: From e267df6247bfac10f5776a47cf045628fb029f8c Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Fri, 13 May 2022 16:05:13 -0500 Subject: [PATCH 34/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6700c7..e7ae7ac 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ vars:
Expand to view 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). +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? From 6818c90d50f668adf6e671381551fcc473f79e50 Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Mon, 16 May 2022 14:52:53 -0500 Subject: [PATCH 35/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e7ae7ac..d184bde 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ # Jira Source dbt Package ([Docs](https://fivetran.github.io/dbt_jira_source/)) # 📣 What does this dbt package do? -- Materializes [Jira staging tables](https://fivetran.github.io/dbt_jira_source/#!/overview/stripe_source/models/?g_v=1) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These staging tables clean, test, and prepare your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) for analysis by doing the following: +- Materializes [Jira staging tables](https://fivetran.github.io/dbt_jira_source/#!/overview/jira_source/models/?g_v=1) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/jira/#schemainformation). These staging tables clean, test, and prepare your Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) 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. From d44802e0b48b5ded55848e32317911c1226f1ea9 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Thu, 19 May 2022 09:32:04 -0500 Subject: [PATCH 36/40] updates --- CHANGELOG.md | 4 ++- README.md | 1 - integration_tests/dbt_project.yml | 42 +++++++++++++++---------------- models/src_jira.yml | 36 +++++++++++++------------- 4 files changed, 42 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a117228..4286e8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # dbt_jira_source v0.5.0 - +## 🎉 Documentation and Feature Updates +- Updated README documentation updates for easier navigation and setup of the dbt package +- Added `jira_[source_table_name]_identifier` variables to allow for easier flexibility of the package to refer to source tables with different names. # dbt_jira_source v0.4.0 🎉 dbt v1.0.0 Compatibility 🎉 ## 🚨 Breaking Changes 🚨 diff --git a/README.md b/README.md index 0b47287..660715f 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,6 @@ By default, this package will run using your target database and the `jira` sche vars: jira_database: your_database_name jira_schema: your_schema_name - jira___identifier: your_table_name ``` ### Disabling Components Your Jira connector might not sync every table that this package expects. If you do not have the `SPRINT`, `COMPONENT`, or `VERSION` tables synced, add the following variable to your root `dbt_project.yml` file: diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index bd3af05..593b1f7 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -6,27 +6,27 @@ profile: 'integration_tests' vars: jira_source: - jira__comment_identifier: "comment" - jira__component_identifier: "component" - jira__epic_identifier: "epic" - jira__field_identifier: "field" - jira__field_option_identifier: "field_option" - jira__issue_field_history_identifier: "issue_field_history" - jira__issue_link_identifier: "issue_link" - jira__issue_multiselect_history_identifier: "issue_multiselect_history" - jira__issue_type_identifier: "issue_type" - jira__issue_identifier: "issue" - jira__priority_identifier: "priority" - jira__project_board_identifier: "project_board" - jira__project_category_identifier: "project_category" - jira__project_identifier: "project" - jira__resolution_identifier: "resolution" - jira__sprint_identifier: "sprint" - jira__status_category_identifier: "status_category" - jira__status_identifier: "status" - jira__user_group_identifier: "user_group" - jira__user_identifier: "user" - jira__version_identifier: "version" + jira_comment_identifier: "comment" + jira_component_identifier: "component" + jira_epic_identifier: "epic" + jira_field_identifier: "field" + jira_field_option_identifier: "field_option" + jira_issue_field_history_identifier: "issue_field_history" + jira_issue_link_identifier: "issue_link" + jira_issue_multiselect_history_identifier: "issue_multiselect_history" + jira_issue_type_identifier: "issue_type" + jira_issue_identifier: "issue" + jira_priority_identifier: "priority" + jira_project_board_identifier: "project_board" + jira_project_category_identifier: "project_category" + jira_project_identifier: "project" + jira_resolution_identifier: "resolution" + jira_sprint_identifier: "sprint" + jira_status_category_identifier: "status_category" + jira_status_identifier: "status" + jira_user_group_identifier: "user_group" + jira_user_identifier: "user" + jira_version_identifier: "version" jira_schema: jira_source_integration_tests diff --git a/models/src_jira.yml b/models/src_jira.yml index 144db62..4fcf022 100644 --- a/models/src_jira.yml +++ b/models/src_jira.yml @@ -16,7 +16,7 @@ sources: tables: - name: comment - identifier: "{{ var('jira__comment_identifier', 'comment')}}" + identifier: "{{ var('jira_comment_identifier', 'comment')}}" description: Table of comments made on issues. columns: - name: id @@ -37,7 +37,7 @@ sources: description: Timestamp of when the comment was last updated. - name: component - identifier: "{{ var('jira__component_identifier', 'component')}}" + identifier: "{{ var('jira_component_identifier', 'component')}}" description: > Table of project components (subsections to group issues). columns: @@ -51,7 +51,7 @@ sources: description: Foreign key referencing the id of the component's `project`. - name: field - identifier: "{{ var('jira__field_identifier', 'field')}}" + identifier: "{{ var('jira_field_identifier', 'field')}}" description: Table of all issue fields. columns: - name: id @@ -68,7 +68,7 @@ sources: description: Name of the field as it appears on issue cards. - name: field_option - identifier: "{{ var('jira__field_option_identifier', 'field_option')}}" + identifier: "{{ var('jira_field_option_identifier', 'field_option')}}" description: Table of all options related to custom fields. columns: - name: id @@ -77,7 +77,7 @@ sources: description: Name of the field option. - name: issue - identifier: "{{ var('jira__issue_identifier', 'issue')}}" + identifier: "{{ var('jira_issue_identifier', 'issue')}}" description: Table of all issues in your organization's Jira (captures soft deletes). columns: - name: id @@ -140,7 +140,7 @@ sources: Equals -1.0 when the fields required for calculation are not provided. - name: issue_field_history - identifier: "{{ var('jira__issue_field_history_identifier', 'issue_field_history')}}" + identifier: "{{ var('jira_issue_field_history_identifier', 'issue_field_history')}}" description: Table of every value that each **custom non-array** (not multiselect) field has been set to. columns: - name: field_id @@ -153,7 +153,7 @@ sources: description: Content of the value of that the field was set to. - name: issue_link - identifier: "{{ var('jira__issue_link_identifier', 'issue_link')}}" + identifier: "{{ var('jira_issue_link_identifier', 'issue_link')}}" description: > Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships. columns: @@ -165,7 +165,7 @@ sources: description: The nature of the link between the two issues ("blocks", "is duplicated by", "relates to", etc.) - name: issue_multiselect_history - identifier: "{{ var('jira__issue_multiselect_history_identifier', 'issue_multiselect_history')}}" + identifier: "{{ var('jira_issue_multiselect_history_identifier', 'issue_multiselect_history')}}" description: > Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value. columns: @@ -181,7 +181,7 @@ sources: description: Content of the value of that the field was set to. - name: issue_type - identifier: "{{ var('jira__issue_type_identifier', 'issue_type')}}" + identifier: "{{ var('jira_issue_type_identifier', 'issue_type')}}" description: > Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions. @@ -196,7 +196,7 @@ sources: description: Boolean that is true if this type of issue is a subtask. - name: priority - identifier: "{{ var('jira__priority_identifier', 'priority')}}" + identifier: "{{ var('jira_priority_identifier', 'priority')}}" description: Table of issue priority levels (global). columns: - name: id @@ -207,7 +207,7 @@ sources: description: Name of the priority as it appears in the UI. - name: project - identifier: "{{ var('jira__project_identifier', 'project')}}" + identifier: "{{ var('jira_project_identifier', 'project')}}" description: Table of all projects in your organization. columns: - name: id @@ -228,7 +228,7 @@ sources: description: ID of the type of project (ie 'software'). - name: resolution - identifier: "{{ var('jira__resolution_identifier', 'resolution')}}" + identifier: "{{ var('jira_resolution_identifier', 'resolution')}}" description: Table storing the types of resolutions used by your organization. columns: - name: id @@ -239,7 +239,7 @@ sources: description: Display name of the resolution. - name: sprint - identifier: "{{ var('jira__sprint_identifier', 'sprint')}}" + identifier: "{{ var('jira_sprint_identifier', 'sprint')}}" description: Table of all sprints. columns: - name: id @@ -256,7 +256,7 @@ sources: description: Timestamp of when the sprint began. - name: status - identifier: "{{ var('jira__status_identifier', 'status')}}" + identifier: "{{ var('jira_status_identifier', 'status')}}" description: Table of project-level statuses (which may have the same umbrella `status_category`). columns: - name: id @@ -271,7 +271,7 @@ sources: description: Foreign key referencing the ID of the `status_category` that this project status falls under. - name: status_category - identifier: "{{ var('jira__status_category_identifier', 'status_category')}}" + identifier: "{{ var('jira_status_category_identifier', 'status_category')}}" description: Table of overarching status categories. columns: - name: id @@ -280,13 +280,13 @@ sources: description: Title of the status category. - name: user - identifier: "{{ var('jira__user_identifier', 'user')}}" + identifier: "{{ var('jira_user_identifier', 'user')}}" description: Table of users associated with your organization. columns: - name: id description: Unique ID of the user. - name: email - description: Email associated with the user acccount. + description: Email associated with the user account. - name: locale description: The Java locale of the user. - name: name @@ -297,7 +297,7 @@ sources: description: Account username. - name: version - identifier: "{{ var('jira__version_identifier', 'version')}}" + identifier: "{{ var('jira_version_identifier', 'version')}}" description: Table of project versions in your organization. columns: - name: archived From 77826942e5f14d68c71a7f54e7ee92ddaa3a35f9 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 20 Sep 2022 15:22:04 -0500 Subject: [PATCH 37/40] standard updates --- CHANGELOG.md | 3 +++ README.md | 5 +---- dbt_project.yml | 6 +----- models/src_jira.yml | 6 ++++++ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4286e8a..31e855d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,10 @@ # dbt_jira_source v0.5.0 +## 🚨 Breaking Changes 🚨 +- The default schema for the source tables are now built within a schema titled (`` + `_source_jira`) in your destination. The previous default schema was (`` + `_source_jira`). This may be overwritten if desired. ## 🎉 Documentation and Feature Updates - Updated README documentation updates for easier navigation and setup of the dbt package - Added `jira_[source_table_name]_identifier` variables to allow for easier flexibility of the package to refer to source tables with different names. +- Source config has been added to the `sprint`, `component`, and `version` sources. This ensures the source freshness will not be run if they are disabled within the package. # dbt_jira_source v0.4.0 🎉 dbt v1.0.0 Compatibility 🎉 ## 🚨 Breaking Changes 🚨 diff --git a/README.md b/README.md index d184bde..bf988d5 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@
- - @@ -58,7 +55,7 @@ vars:
Expand to view configurations ### Change the build schema -By default, this package builds the Jira staging models within a schema titled (`` + `_stg_jira`) in your destination. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: +By default, this package builds the Jira staging models within a schema titled (`` + `_source_jira`) in your destination. If this is not where you would like your Jira staging data to be written to, add the following configuration to your root `dbt_project.yml` file: ```yml models: diff --git a/dbt_project.yml b/dbt_project.yml index 6493f1c..b7d3df4 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -23,14 +23,10 @@ vars: field_option: "{{ source('jira', 'field_option') }}" sprint: "{{ source('jira', 'sprint') }}" version: "{{ source('jira', 'version') }}" - jira_using_sprints: true # disable if you are not using sprints in Jira - jira_using_components: true # disable if you are not using components in Jira - jira_using_versions: true # disable if you are not using versions in Jira - models: jira_source: tmp: +materialized: view +materialized: table - +schema: stg_jira + +schema: source_jira diff --git a/models/src_jira.yml b/models/src_jira.yml index 4fcf022..0a919c3 100644 --- a/models/src_jira.yml +++ b/models/src_jira.yml @@ -40,6 +40,8 @@ sources: identifier: "{{ var('jira_component_identifier', 'component')}}" description: > Table of project components (subsections to group issues). + config: + enabled: "{{ var('jira_using_components', true) }}" columns: - name: id description: ID of the component. @@ -240,6 +242,8 @@ sources: - name: sprint identifier: "{{ var('jira_sprint_identifier', 'sprint')}}" + config: + enabled: "{{ var('jira_using_sprints', true) }}" description: Table of all sprints. columns: - name: id @@ -299,6 +303,8 @@ sources: - name: version identifier: "{{ var('jira_version_identifier', 'version')}}" description: Table of project versions in your organization. + config: + enabled: "{{ var('jira_using_versions', true) }}" columns: - name: archived description: Boolean that is true if the project version has been archived. From a7e7e2aaa6eeb66580bbfc842ecb44adac053ef9 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 20 Sep 2022 15:53:21 -0500 Subject: [PATCH 38/40] missed priority updates --- CHANGELOG.md | 2 +- models/src_jira.yml | 2 ++ models/tmp/stg_jira__priority_tmp.sql | 5 ----- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e22301..4048ee7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ## 🎉 Documentation and Feature Updates - Updated README documentation updates for easier navigation and setup of the dbt package - Added `jira_[source_table_name]_identifier` variables to allow for easier flexibility of the package to refer to source tables with different names. -- Source config has been added to the `sprint`, `component`, and `version` sources. This ensures the source freshness will not be run if they are disabled within the package. +- Source config has been added to the `sprint`, `component`, `priority`, and `version` sources. This ensures the source freshness will not be run if they are disabled within the package. # dbt_jira_source v0.4.2 ## Features - Added the `parent_id` field in the `stg_jira__field_option` model. This field is used when defining custom fields as parent and child custom fields can be created to define a variety of main categories and subcategories. ([#32](https://github.com/fivetran/dbt_jira_source/pull/32)) diff --git a/models/src_jira.yml b/models/src_jira.yml index 9ffc2c3..fedf188 100644 --- a/models/src_jira.yml +++ b/models/src_jira.yml @@ -202,6 +202,8 @@ sources: - name: priority identifier: "{{ var('jira_priority_identifier', 'priority')}}" description: Table of issue priority levels (global). + config: + enabled: "{{ var('jira_using_priorities', true) }}" columns: - name: id description: Unique ID of the priority level. diff --git a/models/tmp/stg_jira__priority_tmp.sql b/models/tmp/stg_jira__priority_tmp.sql index dacc70d..6072d90 100644 --- a/models/tmp/stg_jira__priority_tmp.sql +++ b/models/tmp/stg_jira__priority_tmp.sql @@ -1,8 +1,3 @@ -<<<<<<< HEAD -select * -from {{ var('priority') }} -======= {{ config(enabled=var('jira_using_priorities', True)) }} select * from {{ var('priority') }} ->>>>>>> 914311b66a0bbbd79bd879cba04468385f63f341 From f7776464e1d6aa5e27e09412fe1440a55bbfe007 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 20 Sep 2022 15:59:25 -0500 Subject: [PATCH 39/40] docs regen --- docs/catalog.json | 2 +- docs/index.html | 32 ++----------------------------- docs/manifest.json | 2 +- docs/run_results.json | 2 +- integration_tests/dbt_project.yml | 3 --- 5 files changed, 5 insertions(+), 36 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index 3e4f65f..350aac0 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-30T14:08:07.356829Z", "invocation_id": "4c0a2a8c-0885-4ba0-b9cf-426f96e86100", "env": {}}, "nodes": {"seed.jira_source_integration_tests.comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "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.jira_source_integration_tests.comment"}, "seed.jira_source_integration_tests.component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source_integration_tests.component"}, "seed.jira_source_integration_tests.epic": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "epic", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "done": {"type": "boolean", "index": 3, "name": "done", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "summary": {"type": "text", "index": 6, "name": "summary", "comment": null}}, "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.jira_source_integration_tests.epic"}, "seed.jira_source_integration_tests.field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "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.jira_source_integration_tests.field"}, "seed.jira_source_integration_tests.field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "integer", "index": 4, "name": "parent_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.jira_source_integration_tests.field_option"}, "seed.jira_source_integration_tests.issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "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.jira_source_integration_tests.issue"}, "seed.jira_source_integration_tests.issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source_integration_tests.issue_field_history"}, "seed.jira_source_integration_tests.issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "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.jira_source_integration_tests.issue_link"}, "seed.jira_source_integration_tests.issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source_integration_tests.issue_multiselect_history"}, "seed.jira_source_integration_tests.issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "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.jira_source_integration_tests.issue_type"}, "seed.jira_source_integration_tests.priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source_integration_tests.priority"}, "seed.jira_source_integration_tests.project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "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.jira_source_integration_tests.project"}, "seed.jira_source_integration_tests.project_board": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project_board", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"board_id": {"type": "integer", "index": 1, "name": "board_id", "comment": null}, "project_id": {"type": "integer", "index": 2, "name": "project_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.jira_source_integration_tests.project_board"}, "seed.jira_source_integration_tests.project_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source_integration_tests.project_category"}, "seed.jira_source_integration_tests.resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source_integration_tests.resolution"}, "seed.jira_source_integration_tests.sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "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.jira_source_integration_tests.sprint"}, "seed.jira_source_integration_tests.status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source_integration_tests.status"}, "seed.jira_source_integration_tests.status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "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.jira_source_integration_tests.status_category"}, "seed.jira_source_integration_tests.user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "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.jira_source_integration_tests.user"}, "seed.jira_source_integration_tests.user_group": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user_group", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"group_name": {"type": "text", "index": 1, "name": "group_name", "comment": null}, "user_id": {"type": "text", "index": 2, "name": "user_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.jira_source_integration_tests.user_group"}, "seed.jira_source_integration_tests.version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "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.jira_source_integration_tests.version"}, "model.jira_source.stg_jira__comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"author_user_id": {"type": "text", "index": 1, "name": "author_user_id", "comment": null}, "body": {"type": "text", "index": 2, "name": "body", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "comment_id": {"type": "bigint", "index": 4, "name": "comment_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "last_update_user_id": {"type": "text", "index": 7, "name": "last_update_user_id", "comment": null}, "last_updated_at": {"type": "timestamp without time zone", "index": 8, "name": "last_updated_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__comment"}, "model.jira_source.stg_jira__comment_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__comment_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, "model.jira_source.stg_jira__component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"component_description": {"type": "integer", "index": 1, "name": "component_description", "comment": null}, "component_id": {"type": "bigint", "index": 2, "name": "component_id", "comment": null}, "component_name": {"type": "text", "index": 3, "name": "component_name", "comment": null}, "project_id": {"type": "bigint", "index": 4, "name": "project_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__component"}, "model.jira_source.stg_jira__component_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__component_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source.stg_jira__component_tmp"}, "model.jira_source.stg_jira__field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "character varying", "index": 1, "name": "field_id", "comment": null}, "is_array": {"type": "boolean", "index": 2, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 3, "name": "is_custom", "comment": null}, "field_name": {"type": "text", "index": 4, "name": "field_name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__field"}, "model.jira_source.stg_jira__field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "bigint", "index": 1, "name": "field_id", "comment": null}, "parent_field_id": {"type": "integer", "index": 2, "name": "parent_field_id", "comment": null}, "field_option_name": {"type": "text", "index": 3, "name": "field_option_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_option"}, "model.jira_source.stg_jira__field_option_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__field_option_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "integer", "index": 4, "name": "parent_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.jira_source.stg_jira__field_option_tmp"}, "model.jira_source.stg_jira__field_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__field_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_tmp"}, "model.jira_source.stg_jira__issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"original_estimate_seconds": {"type": "integer", "index": 1, "name": "original_estimate_seconds", "comment": null}, "remaining_estimate_seconds": {"type": "integer", "index": 2, "name": "remaining_estimate_seconds", "comment": null}, "time_spent_seconds": {"type": "integer", "index": 3, "name": "time_spent_seconds", "comment": null}, "assignee_user_id": {"type": "character varying", "index": 4, "name": "assignee_user_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "resolved_at": {"type": "timestamp without time zone", "index": 6, "name": "resolved_at", "comment": null}, "creator_user_id": {"type": "text", "index": 7, "name": "creator_user_id", "comment": null}, "issue_description": {"type": "text", "index": 8, "name": "issue_description", "comment": null}, "due_date": {"type": "integer", "index": 9, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 10, "name": "environment", "comment": null}, "issue_id": {"type": "bigint", "index": 11, "name": "issue_id", "comment": null}, "issue_type_id": {"type": "integer", "index": 12, "name": "issue_type_id", "comment": null}, "issue_key": {"type": "text", "index": 13, "name": "issue_key", "comment": null}, "parent_issue_id": {"type": "integer", "index": 14, "name": "parent_issue_id", "comment": null}, "priority_id": {"type": "integer", "index": 15, "name": "priority_id", "comment": null}, "project_id": {"type": "integer", "index": 16, "name": "project_id", "comment": null}, "reporter_user_id": {"type": "text", "index": 17, "name": "reporter_user_id", "comment": null}, "resolution_id": {"type": "integer", "index": 18, "name": "resolution_id", "comment": null}, "status_id": {"type": "integer", "index": 19, "name": "status_id", "comment": null}, "status_changed_at": {"type": "text", "index": 20, "name": "status_changed_at", "comment": null}, "issue_name": {"type": "text", "index": 21, "name": "issue_name", "comment": null}, "updated_at": {"type": "text", "index": 22, "name": "updated_at", "comment": null}, "work_ratio": {"type": "double precision", "index": 23, "name": "work_ratio", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 24, "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.jira_source.stg_jira__issue"}, "model.jira_source.stg_jira__issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "character varying", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 3, "name": "updated_at", "comment": null}, "field_value": {"type": "character varying", "index": 4, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__issue_field_history"}, "model.jira_source.stg_jira__issue_field_history_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_field_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source.stg_jira__issue_field_history_tmp"}, "model.jira_source.stg_jira__issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "relationship": {"type": "text", "index": 3, "name": "relationship", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "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.jira_source.stg_jira__issue_link"}, "model.jira_source.stg_jira__issue_link_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_link_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_link_tmp"}, "model.jira_source.stg_jira__issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "field_id": {"type": "character varying", "index": 2, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 3, "name": "issue_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 4, "name": "updated_at", "comment": null}, "field_value": {"type": "character varying", "index": 5, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 6, "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.jira_source.stg_jira__issue_multiselect_history"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_multiselect_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source.stg_jira__issue_multiselect_history_tmp"}, "model.jira_source.stg_jira__issue_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, "model.jira_source.stg_jira__issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"description": {"type": "text", "index": 1, "name": "description", "comment": null}, "issue_type_id": {"type": "integer", "index": 2, "name": "issue_type_id", "comment": null}, "issue_type_name": {"type": "text", "index": 3, "name": "issue_type_name", "comment": null}, "is_subtask": {"type": "boolean", "index": 4, "name": "is_subtask", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__issue_type"}, "model.jira_source.stg_jira__issue_type_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__issue_type_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, "model.jira_source.stg_jira__priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"priority_description": {"type": "text", "index": 1, "name": "priority_description", "comment": null}, "priority_id": {"type": "integer", "index": 2, "name": "priority_id", "comment": null}, "priority_name": {"type": "text", "index": 3, "name": "priority_name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "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.jira_source.stg_jira__priority"}, "model.jira_source.stg_jira__priority_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__priority_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, "model.jira_source.stg_jira__project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"project_description": {"type": "integer", "index": 1, "name": "project_description", "comment": null}, "project_id": {"type": "integer", "index": 2, "name": "project_id", "comment": null}, "project_key": {"type": "text", "index": 3, "name": "project_key", "comment": null}, "project_lead_user_id": {"type": "text", "index": 4, "name": "project_lead_user_id", "comment": null}, "project_name": {"type": "text", "index": 5, "name": "project_name", "comment": null}, "project_category_id": {"type": "integer", "index": 6, "name": "project_category_id", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__project"}, "model.jira_source.stg_jira__project_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__project_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__project_tmp"}, "model.jira_source.stg_jira__resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"resolution_description": {"type": "text", "index": 1, "name": "resolution_description", "comment": null}, "resolution_id": {"type": "integer", "index": 2, "name": "resolution_id", "comment": null}, "resolution_name": {"type": "text", "index": 3, "name": "resolution_name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "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.jira_source.stg_jira__resolution"}, "model.jira_source.stg_jira__resolution_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__resolution_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, "model.jira_source.stg_jira__sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"sprint_id": {"type": "bigint", "index": 1, "name": "sprint_id", "comment": null}, "sprint_name": {"type": "text", "index": 2, "name": "sprint_name", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "completed_at": {"type": "timestamp without time zone", "index": 4, "name": "completed_at", "comment": null}, "ended_at": {"type": "timestamp without time zone", "index": 5, "name": "ended_at", "comment": null}, "started_at": {"type": "timestamp without time zone", "index": 6, "name": "started_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "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.jira_source.stg_jira__sprint"}, "model.jira_source.stg_jira__sprint_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__sprint_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__sprint_tmp"}, "model.jira_source.stg_jira__status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"status_description": {"type": "text", "index": 1, "name": "status_description", "comment": null}, "status_id": {"type": "integer", "index": 2, "name": "status_id", "comment": null}, "status_name": {"type": "text", "index": 3, "name": "status_name", "comment": null}, "status_category_id": {"type": "integer", "index": 4, "name": "status_category_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__status"}, "model.jira_source.stg_jira__status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"status_category_id": {"type": "integer", "index": 1, "name": "status_category_id", "comment": null}, "status_category_name": {"type": "text", "index": 2, "name": "status_category_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category"}, "model.jira_source.stg_jira__status_category_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__status_category_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}, "model.jira_source.stg_jira__status_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__status_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source.stg_jira__status_tmp"}, "model.jira_source.stg_jira__user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"email": {"type": "integer", "index": 1, "name": "email", "comment": null}, "user_id": {"type": "text", "index": 2, "name": "user_id", "comment": null}, "locale": {"type": "text", "index": 3, "name": "locale", "comment": null}, "user_display_name": {"type": "text", "index": 4, "name": "user_display_name", "comment": null}, "time_zone": {"type": "text", "index": 5, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 6, "name": "username", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "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.jira_source.stg_jira__user"}, "model.jira_source.stg_jira__user_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__user_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__user_tmp"}, "model.jira_source.stg_jira__version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"is_archived": {"type": "boolean", "index": 1, "name": "is_archived", "comment": null}, "description": {"type": "text", "index": 2, "name": "description", "comment": null}, "version_id": {"type": "integer", "index": 3, "name": "version_id", "comment": null}, "version_name": {"type": "text", "index": 4, "name": "version_name", "comment": null}, "is_overdue": {"type": "boolean", "index": 5, "name": "is_overdue", "comment": null}, "project_id": {"type": "integer", "index": 6, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 7, "name": "release_date", "comment": null}, "is_released": {"type": "boolean", "index": 8, "name": "is_released", "comment": null}, "start_date": {"type": "date", "index": 9, "name": "start_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__version"}, "model.jira_source.stg_jira__version_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_stg_jira", "name": "stg_jira__version_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__version_tmp"}}, "sources": {"source.jira_source.jira.comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "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.jira_source.jira.comment"}, "source.jira_source.jira.component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source.jira.component"}, "source.jira_source.jira.field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "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.jira_source.jira.field"}, "source.jira_source.jira.field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "integer", "index": 4, "name": "parent_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.jira_source.jira.field_option"}, "source.jira_source.jira.issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "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.jira_source.jira.issue"}, "source.jira_source.jira.issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source.jira.issue_field_history"}, "source.jira_source.jira.issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "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.jira_source.jira.issue_link"}, "source.jira_source.jira.issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source.jira.issue_multiselect_history"}, "source.jira_source.jira.issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "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.jira_source.jira.issue_type"}, "source.jira_source.jira.priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source.jira.priority"}, "source.jira_source.jira.project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "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.jira_source.jira.project"}, "source.jira_source.jira.resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source.jira.resolution"}, "source.jira_source.jira.sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "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.jira_source.jira.sprint"}, "source.jira_source.jira.status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source.jira.status"}, "source.jira_source.jira.status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "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.jira_source.jira.status_category"}, "source.jira_source.jira.user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "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.jira_source.jira.user"}, "source.jira_source.jira.version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "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.jira_source.jira.version"}}, "errors": null} +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-09-20T20:58:56.773024Z", "invocation_id": "b591c73a-93c2-4bcf-9b62-f14d8b1780b8", "env": {}}, "nodes": {"seed.jira_source_integration_tests.comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "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.jira_source_integration_tests.comment"}, "seed.jira_source_integration_tests.component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source_integration_tests.component"}, "seed.jira_source_integration_tests.epic": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "epic", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "done": {"type": "boolean", "index": 3, "name": "done", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "summary": {"type": "text", "index": 6, "name": "summary", "comment": null}}, "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.jira_source_integration_tests.epic"}, "seed.jira_source_integration_tests.field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "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.jira_source_integration_tests.field"}, "seed.jira_source_integration_tests.field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "integer", "index": 4, "name": "parent_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.jira_source_integration_tests.field_option"}, "seed.jira_source_integration_tests.issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "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.jira_source_integration_tests.issue"}, "seed.jira_source_integration_tests.issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source_integration_tests.issue_field_history"}, "seed.jira_source_integration_tests.issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "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.jira_source_integration_tests.issue_link"}, "seed.jira_source_integration_tests.issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source_integration_tests.issue_multiselect_history"}, "seed.jira_source_integration_tests.issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "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.jira_source_integration_tests.issue_type"}, "seed.jira_source_integration_tests.priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source_integration_tests.priority"}, "seed.jira_source_integration_tests.project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "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.jira_source_integration_tests.project"}, "seed.jira_source_integration_tests.project_board": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project_board", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"board_id": {"type": "integer", "index": 1, "name": "board_id", "comment": null}, "project_id": {"type": "integer", "index": 2, "name": "project_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.jira_source_integration_tests.project_board"}, "seed.jira_source_integration_tests.project_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source_integration_tests.project_category"}, "seed.jira_source_integration_tests.resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source_integration_tests.resolution"}, "seed.jira_source_integration_tests.sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "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.jira_source_integration_tests.sprint"}, "seed.jira_source_integration_tests.status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source_integration_tests.status"}, "seed.jira_source_integration_tests.status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "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.jira_source_integration_tests.status_category"}, "seed.jira_source_integration_tests.user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "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.jira_source_integration_tests.user"}, "seed.jira_source_integration_tests.user_group": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user_group", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"group_name": {"type": "text", "index": 1, "name": "group_name", "comment": null}, "user_id": {"type": "text", "index": 2, "name": "user_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.jira_source_integration_tests.user_group"}, "seed.jira_source_integration_tests.version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "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.jira_source_integration_tests.version"}, "model.jira_source.stg_jira__comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"author_user_id": {"type": "text", "index": 1, "name": "author_user_id", "comment": null}, "body": {"type": "text", "index": 2, "name": "body", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "comment_id": {"type": "bigint", "index": 4, "name": "comment_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "last_update_user_id": {"type": "text", "index": 7, "name": "last_update_user_id", "comment": null}, "last_updated_at": {"type": "timestamp without time zone", "index": 8, "name": "last_updated_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__comment"}, "model.jira_source.stg_jira__comment_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__comment_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, "model.jira_source.stg_jira__component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"component_description": {"type": "integer", "index": 1, "name": "component_description", "comment": null}, "component_id": {"type": "bigint", "index": 2, "name": "component_id", "comment": null}, "component_name": {"type": "text", "index": 3, "name": "component_name", "comment": null}, "project_id": {"type": "bigint", "index": 4, "name": "project_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__component"}, "model.jira_source.stg_jira__component_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__component_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source.stg_jira__component_tmp"}, "model.jira_source.stg_jira__field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "character varying", "index": 1, "name": "field_id", "comment": null}, "is_array": {"type": "boolean", "index": 2, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 3, "name": "is_custom", "comment": null}, "field_name": {"type": "text", "index": 4, "name": "field_name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__field"}, "model.jira_source.stg_jira__field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "bigint", "index": 1, "name": "field_id", "comment": null}, "parent_field_id": {"type": "integer", "index": 2, "name": "parent_field_id", "comment": null}, "field_option_name": {"type": "text", "index": 3, "name": "field_option_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_option"}, "model.jira_source.stg_jira__field_option_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__field_option_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "integer", "index": 4, "name": "parent_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.jira_source.stg_jira__field_option_tmp"}, "model.jira_source.stg_jira__field_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__field_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__field_tmp"}, "model.jira_source.stg_jira__issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"original_estimate_seconds": {"type": "integer", "index": 1, "name": "original_estimate_seconds", "comment": null}, "remaining_estimate_seconds": {"type": "integer", "index": 2, "name": "remaining_estimate_seconds", "comment": null}, "time_spent_seconds": {"type": "integer", "index": 3, "name": "time_spent_seconds", "comment": null}, "assignee_user_id": {"type": "character varying", "index": 4, "name": "assignee_user_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "resolved_at": {"type": "timestamp without time zone", "index": 6, "name": "resolved_at", "comment": null}, "creator_user_id": {"type": "text", "index": 7, "name": "creator_user_id", "comment": null}, "issue_description": {"type": "text", "index": 8, "name": "issue_description", "comment": null}, "due_date": {"type": "integer", "index": 9, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 10, "name": "environment", "comment": null}, "issue_id": {"type": "bigint", "index": 11, "name": "issue_id", "comment": null}, "issue_type_id": {"type": "integer", "index": 12, "name": "issue_type_id", "comment": null}, "issue_key": {"type": "text", "index": 13, "name": "issue_key", "comment": null}, "parent_issue_id": {"type": "integer", "index": 14, "name": "parent_issue_id", "comment": null}, "priority_id": {"type": "integer", "index": 15, "name": "priority_id", "comment": null}, "project_id": {"type": "integer", "index": 16, "name": "project_id", "comment": null}, "reporter_user_id": {"type": "text", "index": 17, "name": "reporter_user_id", "comment": null}, "resolution_id": {"type": "integer", "index": 18, "name": "resolution_id", "comment": null}, "status_id": {"type": "integer", "index": 19, "name": "status_id", "comment": null}, "status_changed_at": {"type": "timestamp without time zone", "index": 20, "name": "status_changed_at", "comment": null}, "issue_name": {"type": "text", "index": 21, "name": "issue_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 22, "name": "updated_at", "comment": null}, "work_ratio": {"type": "double precision", "index": 23, "name": "work_ratio", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 24, "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.jira_source.stg_jira__issue"}, "model.jira_source.stg_jira__issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "character varying", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 3, "name": "updated_at", "comment": null}, "field_value": {"type": "character varying", "index": 4, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__issue_field_history"}, "model.jira_source.stg_jira__issue_field_history_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_field_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source.stg_jira__issue_field_history_tmp"}, "model.jira_source.stg_jira__issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "relationship": {"type": "text", "index": 3, "name": "relationship", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "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.jira_source.stg_jira__issue_link"}, "model.jira_source.stg_jira__issue_link_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_link_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_link_tmp"}, "model.jira_source.stg_jira__issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "field_id": {"type": "character varying", "index": 2, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 3, "name": "issue_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 4, "name": "updated_at", "comment": null}, "field_value": {"type": "character varying", "index": 5, "name": "field_value", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 6, "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.jira_source.stg_jira__issue_multiselect_history"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_multiselect_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source.stg_jira__issue_multiselect_history_tmp"}, "model.jira_source.stg_jira__issue_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, "model.jira_source.stg_jira__issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"description": {"type": "text", "index": 1, "name": "description", "comment": null}, "issue_type_id": {"type": "integer", "index": 2, "name": "issue_type_id", "comment": null}, "issue_type_name": {"type": "text", "index": 3, "name": "issue_type_name", "comment": null}, "is_subtask": {"type": "boolean", "index": 4, "name": "is_subtask", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__issue_type"}, "model.jira_source.stg_jira__issue_type_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__issue_type_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, "model.jira_source.stg_jira__priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"priority_description": {"type": "text", "index": 1, "name": "priority_description", "comment": null}, "priority_id": {"type": "integer", "index": 2, "name": "priority_id", "comment": null}, "priority_name": {"type": "text", "index": 3, "name": "priority_name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "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.jira_source.stg_jira__priority"}, "model.jira_source.stg_jira__priority_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__priority_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, "model.jira_source.stg_jira__project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"project_description": {"type": "integer", "index": 1, "name": "project_description", "comment": null}, "project_id": {"type": "integer", "index": 2, "name": "project_id", "comment": null}, "project_key": {"type": "text", "index": 3, "name": "project_key", "comment": null}, "project_lead_user_id": {"type": "text", "index": 4, "name": "project_lead_user_id", "comment": null}, "project_name": {"type": "text", "index": 5, "name": "project_name", "comment": null}, "project_category_id": {"type": "integer", "index": 6, "name": "project_category_id", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__project"}, "model.jira_source.stg_jira__project_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__project_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__project_tmp"}, "model.jira_source.stg_jira__resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"resolution_description": {"type": "text", "index": 1, "name": "resolution_description", "comment": null}, "resolution_id": {"type": "integer", "index": 2, "name": "resolution_id", "comment": null}, "resolution_name": {"type": "text", "index": 3, "name": "resolution_name", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "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.jira_source.stg_jira__resolution"}, "model.jira_source.stg_jira__resolution_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__resolution_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, "model.jira_source.stg_jira__sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"sprint_id": {"type": "bigint", "index": 1, "name": "sprint_id", "comment": null}, "sprint_name": {"type": "text", "index": 2, "name": "sprint_name", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "completed_at": {"type": "timestamp without time zone", "index": 4, "name": "completed_at", "comment": null}, "ended_at": {"type": "timestamp without time zone", "index": 5, "name": "ended_at", "comment": null}, "started_at": {"type": "timestamp without time zone", "index": 6, "name": "started_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "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.jira_source.stg_jira__sprint"}, "model.jira_source.stg_jira__sprint_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__sprint_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__sprint_tmp"}, "model.jira_source.stg_jira__status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"status_description": {"type": "text", "index": 1, "name": "status_description", "comment": null}, "status_id": {"type": "integer", "index": 2, "name": "status_id", "comment": null}, "status_name": {"type": "text", "index": 3, "name": "status_name", "comment": null}, "status_category_id": {"type": "integer", "index": 4, "name": "status_category_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "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.jira_source.stg_jira__status"}, "model.jira_source.stg_jira__status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"status_category_id": {"type": "integer", "index": 1, "name": "status_category_id", "comment": null}, "status_category_name": {"type": "text", "index": 2, "name": "status_category_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category"}, "model.jira_source.stg_jira__status_category_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__status_category_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}, "model.jira_source.stg_jira__status_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__status_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source.stg_jira__status_tmp"}, "model.jira_source.stg_jira__user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"email": {"type": "integer", "index": 1, "name": "email", "comment": null}, "user_id": {"type": "text", "index": 2, "name": "user_id", "comment": null}, "locale": {"type": "text", "index": 3, "name": "locale", "comment": null}, "user_display_name": {"type": "text", "index": 4, "name": "user_display_name", "comment": null}, "time_zone": {"type": "text", "index": 5, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 6, "name": "username", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "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.jira_source.stg_jira__user"}, "model.jira_source.stg_jira__user_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__user_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__user_tmp"}, "model.jira_source.stg_jira__version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"is_archived": {"type": "boolean", "index": 1, "name": "is_archived", "comment": null}, "description": {"type": "text", "index": 2, "name": "description", "comment": null}, "version_id": {"type": "integer", "index": 3, "name": "version_id", "comment": null}, "version_name": {"type": "text", "index": 4, "name": "version_name", "comment": null}, "is_overdue": {"type": "boolean", "index": 5, "name": "is_overdue", "comment": null}, "project_id": {"type": "integer", "index": 6, "name": "project_id", "comment": null}, "release_date": {"type": "timestamp without time zone", "index": 7, "name": "release_date", "comment": null}, "is_released": {"type": "boolean", "index": 8, "name": "is_released", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 9, "name": "start_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__version"}, "model.jira_source.stg_jira__version_tmp": {"metadata": {"type": "VIEW", "schema": "jira_source_integration_tests_source_jira", "name": "stg_jira__version_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.jira_source.stg_jira__version_tmp"}}, "sources": {"source.jira_source.jira.comment": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "comment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "author_id": {"type": "text", "index": 3, "name": "author_id", "comment": null}, "body": {"type": "text", "index": 4, "name": "body", "comment": null}, "created": {"type": "timestamp without time zone", "index": 5, "name": "created", "comment": null}, "is_public": {"type": "boolean", "index": 6, "name": "is_public", "comment": null}, "issue_id": {"type": "bigint", "index": 7, "name": "issue_id", "comment": null}, "update_author_id": {"type": "text", "index": 8, "name": "update_author_id", "comment": null}, "updated": {"type": "timestamp without time zone", "index": 9, "name": "updated", "comment": null}}, "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.jira_source.jira.comment"}, "source.jira_source.jira.component": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "component", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "project_id": {"type": "bigint", "index": 5, "name": "project_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.jira_source.jira.component"}, "source.jira_source.jira.field": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "character varying", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "is_array": {"type": "boolean", "index": 3, "name": "is_array", "comment": null}, "is_custom": {"type": "boolean", "index": 4, "name": "is_custom", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}}, "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.jira_source.jira.field"}, "source.jira_source.jira.field_option": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "field_option", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "parent_id": {"type": "integer", "index": 4, "name": "parent_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.jira_source.jira.field_option"}, "source.jira_source.jira.issue": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "_original_estimate": {"type": "integer", "index": 4, "name": "_original_estimate", "comment": null}, "_remaining_estimate": {"type": "integer", "index": 5, "name": "_remaining_estimate", "comment": null}, "_time_spent": {"type": "integer", "index": 6, "name": "_time_spent", "comment": null}, "assignee": {"type": "character varying", "index": 7, "name": "assignee", "comment": null}, "created": {"type": "timestamp without time zone", "index": 8, "name": "created", "comment": null}, "creator": {"type": "text", "index": 9, "name": "creator", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "due_date": {"type": "integer", "index": 11, "name": "due_date", "comment": null}, "environment": {"type": "integer", "index": 12, "name": "environment", "comment": null}, "issue_type": {"type": "integer", "index": 13, "name": "issue_type", "comment": null}, "key": {"type": "text", "index": 14, "name": "key", "comment": null}, "last_viewed": {"type": "text", "index": 15, "name": "last_viewed", "comment": null}, "original_estimate": {"type": "integer", "index": 16, "name": "original_estimate", "comment": null}, "parent_id": {"type": "integer", "index": 17, "name": "parent_id", "comment": null}, "priority": {"type": "integer", "index": 18, "name": "priority", "comment": null}, "project": {"type": "integer", "index": 19, "name": "project", "comment": null}, "remaining_estimate": {"type": "integer", "index": 20, "name": "remaining_estimate", "comment": null}, "reporter": {"type": "text", "index": 21, "name": "reporter", "comment": null}, "resolution": {"type": "integer", "index": 22, "name": "resolution", "comment": null}, "resolved": {"type": "timestamp without time zone", "index": 23, "name": "resolved", "comment": null}, "status": {"type": "integer", "index": 24, "name": "status", "comment": null}, "status_category_changed": {"type": "text", "index": 25, "name": "status_category_changed", "comment": null}, "summary": {"type": "text", "index": 26, "name": "summary", "comment": null}, "time_spent": {"type": "integer", "index": 27, "name": "time_spent", "comment": null}, "updated": {"type": "text", "index": 28, "name": "updated", "comment": null}, "work_ratio": {"type": "double precision", "index": 29, "name": "work_ratio", "comment": null}}, "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.jira_source.jira.issue"}, "source.jira_source.jira.issue_field_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_field_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"field_id": {"type": "text", "index": 1, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 2, "name": "issue_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 3, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "value": {"type": "character varying", "index": 5, "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.jira_source.jira.issue_field_history"}, "source.jira_source.jira.issue_link": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_link", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"issue_id": {"type": "integer", "index": 1, "name": "issue_id", "comment": null}, "related_issue_id": {"type": "integer", "index": 2, "name": "related_issue_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "relationship": {"type": "text", "index": 4, "name": "relationship", "comment": null}}, "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.jira_source.jira.issue_link"}, "source.jira_source.jira.issue_multiselect_history": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_multiselect_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"_fivetran_id": {"type": "text", "index": 1, "name": "_fivetran_id", "comment": null}, "time": {"type": "timestamp without time zone", "index": 2, "name": "time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "field_id": {"type": "text", "index": 4, "name": "field_id", "comment": null}, "issue_id": {"type": "bigint", "index": 5, "name": "issue_id", "comment": null}, "value": {"type": "character varying", "index": 6, "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.jira_source.jira.issue_multiselect_history"}, "source.jira_source.jira.issue_type": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "issue_type", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "subtask": {"type": "boolean", "index": 5, "name": "subtask", "comment": null}}, "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.jira_source.jira.issue_type"}, "source.jira_source.jira.priority": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "priority", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source.jira.priority"}, "source.jira_source.jira.project": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "project", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "integer", "index": 3, "name": "description", "comment": null}, "key": {"type": "text", "index": 4, "name": "key", "comment": null}, "lead_id": {"type": "text", "index": 5, "name": "lead_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "permission_scheme_id": {"type": "integer", "index": 7, "name": "permission_scheme_id", "comment": null}, "project_category_id": {"type": "integer", "index": 8, "name": "project_category_id", "comment": null}, "project_type_key": {"type": "text", "index": 9, "name": "project_type_key", "comment": null}}, "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.jira_source.jira.project"}, "source.jira_source.jira.resolution": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "resolution", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}}, "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.jira_source.jira.resolution"}, "source.jira_source.jira.sprint": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "sprint", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "board_id": {"type": "integer", "index": 3, "name": "board_id", "comment": null}, "complete_date": {"type": "timestamp without time zone", "index": 4, "name": "complete_date", "comment": null}, "end_date": {"type": "timestamp without time zone", "index": 5, "name": "end_date", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "start_date": {"type": "timestamp without time zone", "index": 7, "name": "start_date", "comment": null}}, "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.jira_source.jira.sprint"}, "source.jira_source.jira.status": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status_category_id": {"type": "integer", "index": 5, "name": "status_category_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.jira_source.jira.status"}, "source.jira_source.jira.status_category": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "status_category", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}}, "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.jira_source.jira.status_category"}, "source.jira_source.jira.user": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "user", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "text", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "email": {"type": "integer", "index": 3, "name": "email", "comment": null}, "locale": {"type": "text", "index": 4, "name": "locale", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "time_zone": {"type": "text", "index": 6, "name": "time_zone", "comment": null}, "username": {"type": "integer", "index": 7, "name": "username", "comment": null}}, "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.jira_source.jira.user"}, "source.jira_source.jira.version": {"metadata": {"type": "BASE TABLE", "schema": "jira_source_integration_tests", "name": "version", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "archived": {"type": "boolean", "index": 3, "name": "archived", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "overdue": {"type": "boolean", "index": 6, "name": "overdue", "comment": null}, "project_id": {"type": "integer", "index": 7, "name": "project_id", "comment": null}, "release_date": {"type": "date", "index": 8, "name": "release_date", "comment": null}, "released": {"type": "boolean", "index": 9, "name": "released", "comment": null}, "start_date": {"type": "date", "index": 10, "name": "start_date", "comment": null}}, "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.jira_source.jira.version"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 0a67320..0c4d0ec 100644 --- a/docs/index.html +++ b/docs/index.html @@ -48,11 +48,7 @@ * * Date: 2020-03-14 */ -<<<<<<< HEAD -function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,h,g,v,m,b,y,x="sizzle"+1*new Date,w=e.document,k=0,A=0,E=le(),S=le(),$=le(),C=le(),O=function(e,t){return e===t&&(d=!0),0},_={}.hasOwnProperty,T=[],j=T.pop,P=T.push,D=T.push,R=T.slice,I=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),H=new RegExp(M+"|>"),G=new RegExp(B),W=new RegExp("^"+z+"$"),Y={ID:new RegExp("^#("+z+")"),CLASS:new RegExp("^\\.("+z+")"),TAG:new RegExp("^("+z+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+N+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},X=/HTML$/i,Z=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){f()},ae=xe((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{D.apply(T=R.call(w.childNodes),w.childNodes),T[w.childNodes.length].nodeType}catch(e){D={apply:T.length?function(e,t){P.apply(e,R.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,c,u,d,h,m,b=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(f(t),t=t||p,g)){if(11!==w&&(d=K.exec(e)))if(o=d[1]){if(9===w){if(!(c=t.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(b&&(c=b.getElementById(o))&&y(t,c)&&c.id===o)return r.push(c),r}else{if(d[2])return D.apply(r,t.getElementsByTagName(e)),r;if((o=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return D.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!C[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(m=e,b=t,1===w&&(H.test(e)||U.test(e))){for((b=ee.test(e)&&me(t.parentNode)||t)===t&&n.scope||((u=t.getAttribute("id"))?u=u.replace(re,ie):t.setAttribute("id",u=x)),s=(h=a(e)).length;s--;)h[s]=(u?"#"+u:":scope")+" "+ye(h[s]);m=h.join(",")}try{return D.apply(r,b.querySelectorAll(m)),r}catch(t){C(e,!0)}finally{u===x&&t.removeAttribute("id")}}}return l(e.replace(q,"$1"),t,r,i)}function le(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ce(e){return e[x]=!0,e}function ue(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return ce((function(t){return t=+t,ce((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function me(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!X.test(t||n&&n.nodeName||"HTML")},f=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,g=!o(p),w!=p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ue((function(e){return h.appendChild(e).appendChild(p.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ue((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ue((function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=ue((function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},m=[],v=[],(n.qsa=J.test(p.querySelectorAll))&&(ue((function(e){var t;h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+N+")"),e.querySelectorAll("[id~="+x+"-]").length||v.push("~="),(t=p.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ue((function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=J.test(b=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue((function(e){n.disconnectedMatch=b.call(e,"*"),b.call(e,"[s!='']:x"),m.push("!=",B)})),v=v.length&&new RegExp(v.join("|")),m=m.length&&new RegExp(m.join("|")),t=J.test(h.compareDocumentPosition),y=t||J.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},O=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==p||e.ownerDocument==w&&y(w,e)?-1:t==p||t.ownerDocument==w&&y(w,t)?1:u?I(u,e)-I(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==p?-1:t==p?1:i?-1:o?1:u?I(u,e)-I(u,t):0;if(i===o)return fe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?fe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(f(e),n.matchesSelector&&g&&!C[t+" "]&&(!m||!m.test(t))&&(!v||!v.test(t)))try{var r=b.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){C(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=p&&f(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=p&&f(e);var i=r.attrHandle[t.toLowerCase()],o=i&&_.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(O),d){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return u=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&G.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,m=s&&t.nodeName.toLowerCase(),b=!l&&!s,y=!1;if(v){if(o){for(;g;){for(f=t;f=f[g];)if(s?f.nodeName.toLowerCase()===m:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&b){for(y=(p=(c=(u=(d=(f=v)[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&c[1])&&c[2],f=p&&v.childNodes[p];f=++p&&f&&f[g]||(y=p=0)||h.pop();)if(1===f.nodeType&&++y&&f===t){u[e]=[k,p,y];break}}else if(b&&(y=p=(c=(u=(d=(f=t)[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&c[1]),!1===y)for(;(f=++p&&f&&f[g]||(y=p=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==m:1!==f.nodeType)||!++y||(b&&((u=(d=f[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]=[k,y]),f!==t)););return(y-=i)===r||y%r==0&&y/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[x]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=I(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:ce((function(e){var t=[],n=[],r=s(e.replace(q,"$1"));return r[x]?ce((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:ce((function(e){return function(t){return se(e,t).length>0}})),contains:ce((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:ce((function(e){return W.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function ke(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;s-1&&(o[c]=!(a[c]=d))}}else m=ke(m===a?m.splice(h,m.length):m),i?i(null,a,m,l):D.apply(a,m)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],l=a?1:0,u=xe((function(e){return e===t}),s,!0),d=xe((function(e){return I(t,e)>-1}),s,!0),f=[function(e,n,r){var i=!a&&(r||n!==c)||((t=n).nodeType?u(e,n,r):d(e,n,r));return t=null,i}];l1&&we(f),l>1&&ye(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(q,"$1"),n,l0,i=e.length>0,o=function(o,a,s,l,u){var d,h,v,m=0,b="0",y=o&&[],x=[],w=c,A=o||i&&r.find.TAG("*",u),E=k+=null==w?1:Math.random()||.1,S=A.length;for(u&&(c=a==p||a||u);b!==S&&null!=(d=A[b]);b++){if(i&&d){for(h=0,a||d.ownerDocument==p||(f(d),s=!g);v=e[h++];)if(v(d,a||p,s)){l.push(d);break}u&&(k=E)}n&&((d=!v&&d)&&m--,o&&y.push(d))}if(m+=b,n&&b!==m){for(h=0;v=t[h++];)v(y,x,a,s);if(o){if(m>0)for(;b--;)y[b]||x[b]||(x[b]=j.call(l));x=ke(x)}D.apply(l,x),u&&!o&&x.length>0&&m+t.length>1&&se.uniqueSort(l)}return u&&(k=E,c=w),y};return n?ce(o):o}(o,i))).selector=e}return s},l=se.select=function(e,t,n,i){var o,l,c,u,d,f="function"==typeof e&&e,p=!i&&a(e=f.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&g&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=Y.needsContext.test(e)?0:l.length;o--&&(c=l[o],!r.relative[u=c.type]);)if((d=r.find[u])&&(i=d(c.matches[0].replace(te,ne),ee.test(l[0].type)&&me(t.parentNode)||t))){if(l.splice(o,1),!(e=i.length&&ye(l)))return D.apply(n,i),n;break}}return(f||s(e,p))(i,t,!g,n,!t||ee.test(e)&&me(t.parentNode)||t),n},n.sortStable=x.split("").sort(O).join("")===x,n.detectDuplicates=!!d,f(),n.sortDetached=ue((function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))})),ue((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ue((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ue((function(e){return null==e.getAttribute("disabled")}))||de(N,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(n);A.find=S,A.expr=S.selectors,A.expr[":"]=A.expr.pseudos,A.uniqueSort=A.unique=S.uniqueSort,A.text=S.getText,A.isXMLDoc=S.isXML,A.contains=S.contains,A.escapeSelector=S.escape;var $=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&A(e).is(n))break;r.push(e)}return r},C=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=A.expr.match.needsContext;function _(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var T=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return m(t)?A.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?A.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?A.grep(e,(function(e){return u.call(t,e)>-1!==n})):A.filter(t,e,n)}A.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?A.find.matchesSelector(r,e)?[r]:[]:A.find.matches(e,A.grep(t,(function(e){return 1===e.nodeType})))},A.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(A(e).filter((function(){for(t=0;t1?A.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&O.test(e)?A(e):e||[],!1).length}});var P,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(A.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||P,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof A?t[0]:t,A.merge(this,A.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:y,!0)),T.test(r[1])&&A.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=y.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(A):A.makeArray(e,this)}).prototype=A.fn,P=A(y);var R=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function N(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}A.fn.extend({has:function(e){var t=A(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&A.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?A.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(A(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(A.uniqueSort(A.merge(this.get(),A(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),A.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return $(e,"parentNode")},parentsUntil:function(e,t,n){return $(e,"parentNode",n)},next:function(e){return N(e,"nextSibling")},prev:function(e){return N(e,"previousSibling")},nextAll:function(e){return $(e,"nextSibling")},prevAll:function(e){return $(e,"previousSibling")},nextUntil:function(e,t,n){return $(e,"nextSibling",n)},prevUntil:function(e,t,n){return $(e,"previousSibling",n)},siblings:function(e){return C((e.parentNode||{}).firstChild,e)},children:function(e){return C(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(_(e,"template")&&(e=e.content||e),A.merge([],e.childNodes))}},(function(e,t){A.fn[e]=function(n,r){var i=A.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=A.filter(r,i)),this.length>1&&(I[e]||A.uniqueSort(i),R.test(e)&&i.reverse()),this.pushStack(i)}}));var M=/[^\x20\t\r\n\f]+/g;function z(e){return e}function L(e){throw e}function B(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}A.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return A.each(e.match(M)||[],(function(e,n){t[n]=!0})),t}(e):A.extend({},e);var t,n,r,i,o=[],a=[],s=-1,l=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?A.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},A.extend({Deferred:function(e){var t=[["notify","progress",A.Callbacks("memory"),A.Callbacks("memory"),2],["resolve","done",A.Callbacks("once memory"),A.Callbacks("once memory"),0,"resolved"],["reject","fail",A.Callbacks("once memory"),A.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return A.Deferred((function(n){A.each(t,(function(t,r){var i=m(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&m(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,r,i){var o=0;function a(e,t,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(e=o&&(r!==L&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?u():(A.Deferred.getStackHook&&(u.stackTrace=A.Deferred.getStackHook()),n.setTimeout(u))}}return A.Deferred((function(n){t[0][3].add(a(0,n,m(i)?i:z,n.notifyWith)),t[1][3].add(a(0,n,m(e)?e:z)),t[2][3].add(a(0,n,m(r)?r:L))})).promise()},promise:function(e){return null!=e?A.extend(e,i):i}},o={};return A.each(t,(function(e,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add((function(){r=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith})),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=s.call(arguments),o=A.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?s.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(B(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||m(i[n]&&i[n].then)))return o.then();for(;n--;)B(i[n],a(n),o.reject);return o.promise()}});var F=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;A.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&F.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},A.readyException=function(e){n.setTimeout((function(){throw e}))};var q=A.Deferred();function V(){y.removeEventListener("DOMContentLoaded",V),n.removeEventListener("load",V),A.ready()}A.fn.ready=function(e){return q.then(e).catch((function(e){A.readyException(e)})),this},A.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--A.readyWait:A.isReady)||(A.isReady=!0,!0!==e&&--A.readyWait>0||q.resolveWith(y,[A]))}}),A.ready.then=q.then,"complete"===y.readyState||"loading"!==y.readyState&&!y.documentElement.doScroll?n.setTimeout(A.ready):(y.addEventListener("DOMContentLoaded",V),n.addEventListener("load",V));var U=function(e,t,n,r,i,o,a){var s=0,l=e.length,c=null==n;if("object"===k(n))for(s in i=!0,n)U(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),c&&(a?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(A(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){J.remove(this,e)}))}}),A.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,A.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=A.queue(e,t),r=n.length,i=n.shift(),o=A._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){A.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:A.Callbacks("once memory").add((function(){Q.remove(e,[t+"queue",n])}))})}}),A.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,me=/^$|^module$|\/(?:java|ecma)script/i;pe=y.createDocumentFragment().appendChild(y.createElement("div")),(he=y.createElement("input")).setAttribute("type","radio"),he.setAttribute("checked","checked"),he.setAttribute("name","t"),pe.appendChild(he),v.checkClone=pe.cloneNode(!0).cloneNode(!0).lastChild.checked,pe.innerHTML="",v.noCloneChecked=!!pe.cloneNode(!0).lastChild.defaultValue,pe.innerHTML="",v.option=!!pe.lastChild;var be={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&_(e,t)?A.merge([e],n):n}function xe(e,t){for(var n=0,r=e.length;n",""]);var we=/<|&#?\w+;/;function ke(e,t,n,r,i){for(var o,a,s,l,c,u,d=t.createDocumentFragment(),f=[],p=0,h=e.length;p-1)i&&i.push(o);else if(c=ae(o),a=ye(d.appendChild(o),"script"),c&&xe(a),n)for(u=0;o=a[u++];)me.test(o.type||"")&&n.push(o);return d}var Ae=/^key/,Ee=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Se=/^([^.]*)(?:\.(.+)|)/;function $e(){return!0}function Ce(){return!1}function Oe(e,t){return e===function(){try{return y.activeElement}catch(e){}}()==("focus"===t)}function _e(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)_e(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return A().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=A.guid++)),e.each((function(){A.event.add(this,t,i,r,n)}))}function Te(e,t,n){n?(Q.set(e,t,!1),A.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=Q.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(A.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=s.call(arguments),Q.set(this,t,o),r=n(this,t),this[t](),o!==(i=Q.get(this,t))||r?Q.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else o.length&&(Q.set(this,t,{value:A.event.trigger(A.extend(o[0],A.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,t)&&A.event.add(e,t,$e)}A.event={global:{},add:function(e,t,n,r,i){var o,a,s,l,c,u,d,f,p,h,g,v=Q.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&A.find.matchesSelector(oe,i),n.guid||(n.guid=A.guid++),(l=v.events)||(l=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==A&&A.event.triggered!==t.type?A.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(M)||[""]).length;c--;)p=g=(s=Se.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p&&(d=A.event.special[p]||{},p=(i?d.delegateType:d.bindType)||p,d=A.event.special[p]||{},u=A.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&A.expr.match.needsContext.test(i),namespace:h.join(".")},o),(f=l[p])||((f=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?f.splice(f.delegateCount++,0,u):f.push(u),A.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,a,s,l,c,u,d,f,p,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(l=v.events)){for(c=(t=(t||"").match(M)||[""]).length;c--;)if(p=g=(s=Se.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p){for(d=A.event.special[p]||{},f=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=f.length;o--;)u=f[o],!i&&g!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(f.splice(o,1),u.selector&&f.delegateCount--,d.remove&&d.remove.call(e,u));a&&!f.length&&(d.teardown&&!1!==d.teardown.call(e,h,v.handle)||A.removeEvent(e,p,v.handle),delete l[p])}else for(p in l)A.event.remove(e,p+t[c],n,r,!0);A.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),l=A.event.fix(e),c=(Q.get(this,"events")||Object.create(null))[l.type]||[],u=A.event.special[l.type]||{};for(s[0]=l,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],a={},n=0;n-1:A.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,l\s*$/g;function Re(e,t){return _(e,"table")&&_(11!==t.nodeType?t:t.firstChild,"tr")&&A(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ne(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Q.hasData(e)&&(s=Q.get(e).events))for(i in Q.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"==typeof h&&!v.checkClone&&Pe.test(h))return e.each((function(i){var o=e.eq(i);g&&(t[0]=h.call(this,i,o.html())),Le(o,t,n,r)}));if(f&&(o=(i=ke(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=A.map(ye(i,"script"),Ie)).length;d0&&xe(a,!l&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=A.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?A.event.remove(n,r):A.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),A.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return U(this,(function(e){return void 0===e?A.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Le(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)}))},prepend:function(){return Le(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Le(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Le(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(A.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return A.clone(this,e,t)}))},html:function(e){return U(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!je.test(e)&&!be[(ve.exec(e)||["",""])[1].toLowerCase()]){e=A.htmlPrefilter(e);try{for(;n3,oe.removeChild(e)),s}}))}();var We=["Webkit","Moz","ms"],Ye=y.createElement("div").style,Xe={};function Ze(e){var t=A.cssProps[e]||Xe[e];return t||(e in Ye?e:Xe[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=We.length;n--;)if((e=We[n]+t)in Ye)return e}(e)||e)}var Qe=/^(none|table(?!-c[ea]).+)/,Je=/^--/,Ke={position:"absolute",visibility:"hidden",display:"block"},et={letterSpacing:"0",fontWeight:"400"};function tt(e,t,n){var r=re.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function nt(e,t,n,r,i,o){var a="width"===t?1:0,s=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=A.css(e,n+ie[a],!0,i)),r?("content"===n&&(l-=A.css(e,"padding"+ie[a],!0,i)),"margin"!==n&&(l-=A.css(e,"border"+ie[a]+"Width",!0,i))):(l+=A.css(e,"padding"+ie[a],!0,i),"padding"!==n?l+=A.css(e,"border"+ie[a]+"Width",!0,i):s+=A.css(e,"border"+ie[a]+"Width",!0,i));return!r&&o>=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-s-.5))||0),l}function rt(e,t,n){var r=qe(e),i=(!v.boxSizingReliable()||n)&&"border-box"===A.css(e,"boxSizing",!1,r),o=i,a=He(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Fe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&_(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===A.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===A.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+nt(e,t,n||(i?"border":"content"),o,r,a)+"px"}function it(e,t,n,r,i){return new it.prototype.init(e,t,n,r,i)}A.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=He(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=Y(t),l=Je.test(t),c=e.style;if(l||(t=Ze(s)),a=A.cssHooks[t]||A.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:c[t];"string"===(o=typeof n)&&(i=re.exec(n))&&i[1]&&(n=ce(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||l||(n+=i&&i[3]||(A.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,o,a,s=Y(t);return Je.test(t)||(t=Ze(s)),(a=A.cssHooks[t]||A.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=He(e,t,r)),"normal"===i&&t in et&&(i=et[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),A.each(["height","width"],(function(e,t){A.cssHooks[t]={get:function(e,n,r){if(n)return!Qe.test(A.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?rt(e,t,r):Ve(e,Ke,(function(){return rt(e,t,r)}))},set:function(e,n,r){var i,o=qe(e),a=!v.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===A.css(e,"boxSizing",!1,o),l=r?nt(e,t,r,s,o):0;return s&&a&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-nt(e,t,"border",!1,o)-.5)),l&&(i=re.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=A.css(e,t)),tt(0,n,l)}}})),A.cssHooks.marginLeft=Ge(v.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(He(e,"marginLeft"))||e.getBoundingClientRect().left-Ve(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),A.each({margin:"",padding:"",border:"Width"},(function(e,t){A.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ie[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(A.cssHooks[e+t].set=tt)})),A.fn.extend({css:function(e,t){return U(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=qe(e),i=t.length;a1)}}),A.Tween=it,it.prototype={constructor:it,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||A.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(A.cssNumber[n]?"":"px")},cur:function(){var e=it.propHooks[this.prop];return e&&e.get?e.get(this):it.propHooks._default.get(this)},run:function(e){var t,n=it.propHooks[this.prop];return this.options.duration?this.pos=t=A.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):it.propHooks._default.set(this),this}},it.prototype.init.prototype=it.prototype,it.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=A.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){A.fx.step[e.prop]?A.fx.step[e.prop](e):1!==e.elem.nodeType||!A.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:A.style(e.elem,e.prop,e.now+e.unit)}}},it.propHooks.scrollTop=it.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},A.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},A.fx=it.prototype.init,A.fx.step={};var ot,at,st=/^(?:toggle|show|hide)$/,lt=/queueHooks$/;function ct(){at&&(!1===y.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ct):n.setTimeout(ct,A.fx.interval),A.fx.tick())}function ut(){return n.setTimeout((function(){ot=void 0})),ot=Date.now()}function dt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ie[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ft(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){A.removeAttr(this,e)}))}}),A.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?A.prop(e,t,n):(1===o&&A.isXMLDoc(e)||(i=A.attrHooks[t.toLowerCase()]||(A.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void A.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=A.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&_(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?A.removeAttr(e,n):e.setAttribute(n,n),n}},A.each(A.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=gt[t]||A.find.attr;gt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=gt[a],gt[a]=i,i=null!=n(e,t,r)?a:null,gt[a]=o),i}}));var vt=/^(?:input|select|textarea|button)$/i,mt=/^(?:a|area)$/i;function bt(e){return(e.match(M)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(M)||[]}A.fn.extend({prop:function(e,t){return U(this,A.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[A.propFix[e]||e]}))}}),A.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&A.isXMLDoc(e)||(t=A.propFix[t]||t,i=A.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=A.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||mt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(A.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),A.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){A.propFix[this.toLowerCase()]=this})),A.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,l=0;if(m(e))return this.each((function(t){A(this).addClass(e.call(this,t,yt(this)))}));if((t=xt(e)).length)for(;n=this[l++];)if(i=yt(n),r=1===n.nodeType&&" "+bt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=bt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,l=0;if(m(e))return this.each((function(t){A(this).removeClass(e.call(this,t,yt(this)))}));if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)for(;n=this[l++];)if(i=yt(n),r=1===n.nodeType&&" "+bt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=bt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):m(e)?this.each((function(n){A(this).toggleClass(e.call(this,n,yt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=A(this),a=xt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=yt(this))&&Q.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Q.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+bt(yt(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;A.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=m(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,A(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=A.map(i,(function(e){return null==e?"":e+""}))),(t=A.valHooks[this.type]||A.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=A.valHooks[i.type]||A.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(wt,""):null==n?"":n:void 0}}),A.extend({valHooks:{option:{get:function(e){var t=A.find.attr(e,"value");return null!=t?t:bt(A.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],l=a?o+1:i.length;for(r=o<0?l:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),A.each(["radio","checkbox"],(function(){A.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=A.inArray(A(e).val(),t)>-1}},v.checkOn||(A.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),v.focusin="onfocusin"in n;var kt=/^(?:focusinfocus|focusoutblur)$/,At=function(e){e.stopPropagation()};A.extend(A.event,{trigger:function(e,t,r,i){var o,a,s,l,c,u,d,f,h=[r||y],g=p.call(e,"type")?e.type:e,v=p.call(e,"namespace")?e.namespace.split("."):[];if(a=f=s=r=r||y,3!==r.nodeType&&8!==r.nodeType&&!kt.test(g+A.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),c=g.indexOf(":")<0&&"on"+g,(e=e[A.expando]?e:new A.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:A.makeArray(t,[e]),d=A.event.special[g]||{},i||!d.trigger||!1!==d.trigger.apply(r,t))){if(!i&&!d.noBubble&&!b(r)){for(l=d.delegateType||g,kt.test(l+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),s=a;s===(r.ownerDocument||y)&&h.push(s.defaultView||s.parentWindow||n)}for(o=0;(a=h[o++])&&!e.isPropagationStopped();)f=a,e.type=o>1?l:d.bindType||g,(u=(Q.get(a,"events")||Object.create(null))[e.type]&&Q.get(a,"handle"))&&u.apply(a,t),(u=c&&a[c])&&u.apply&&X(a)&&(e.result=u.apply(a,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(h.pop(),t)||!X(r)||c&&m(r[g])&&!b(r)&&((s=r[c])&&(r[c]=null),A.event.triggered=g,e.isPropagationStopped()&&f.addEventListener(g,At),r[g](),e.isPropagationStopped()&&f.removeEventListener(g,At),A.event.triggered=void 0,s&&(r[c]=s)),e.result}},simulate:function(e,t,n){var r=A.extend(new A.Event,n,{type:e,isSimulated:!0});A.event.trigger(r,null,t)}}),A.fn.extend({trigger:function(e,t){return this.each((function(){A.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return A.event.trigger(e,t,n,!0)}}),v.focusin||A.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){A.event.simulate(t,e.target,A.event.fix(e))};A.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=Q.access(r,t);i||r.addEventListener(e,n,!0),Q.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=Q.access(r,t)-1;i?Q.access(r,t,i):(r.removeEventListener(e,n,!0),Q.remove(r,t))}}}));var Et=n.location,St={guid:Date.now()},$t=/\?/;A.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||A.error("Invalid XML: "+e),t};var Ct=/\[\]$/,Ot=/\r?\n/g,_t=/^(?:submit|button|image|reset|file)$/i,Tt=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))A.each(t,(function(t,i){n||Ct.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==k(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}A.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!A.isPlainObject(e))A.each(e,(function(){i(this.name,this.value)}));else for(n in e)jt(n,e[n],t,i);return r.join("&")},A.fn.extend({serialize:function(){return A.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=A.prop(this,"elements");return e?A.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!A(this).is(":disabled")&&Tt.test(this.nodeName)&&!_t.test(e)&&(this.checked||!ge.test(e))})).map((function(e,t){var n=A(this).val();return null==n?null:Array.isArray(n)?A.map(n,(function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}})):{name:t.name,value:n.replace(Ot,"\r\n")}})).get()}});var Pt=/%20/g,Dt=/#.*$/,Rt=/([?&])_=[^&]*/,It=/^(.*?):[ \t]*([^\r\n]*)$/gm,Nt=/^(?:GET|HEAD)$/,Mt=/^\/\//,zt={},Lt={},Bt="*/".concat("*"),Ft=y.createElement("a");function qt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(m(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Vt(e,t,n,r){var i={},o=e===Lt;function a(s){var l;return i[s]=!0,A.each(e[s]||[],(function(e,s){var c=s(t,n,r);return"string"!=typeof c||o||i[c]?o?!(l=c):void 0:(t.dataTypes.unshift(c),a(c),!1)})),l}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Ut(e,t){var n,r,i=A.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&A.extend(!0,e,r),e}Ft.href=Et.href,A.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":A.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ut(Ut(e,A.ajaxSettings),t):Ut(A.ajaxSettings,e)},ajaxPrefilter:qt(zt),ajaxTransport:qt(Lt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,a,s,l,c,u,d,f,p=A.ajaxSetup({},t),h=p.context||p,g=p.context&&(h.nodeType||h.jquery)?A(h):A.event,v=A.Deferred(),m=A.Callbacks("once memory"),b=p.statusCode||{},x={},w={},k="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=It.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?o:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==c&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||k;return r&&r.abort(t),S(0,t),this}};if(v.promise(E),p.url=((e||p.url||Et.href)+"").replace(Mt,Et.protocol+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(M)||[""],null==p.crossDomain){l=y.createElement("a");try{l.href=p.url,l.href=l.href,p.crossDomain=Ft.protocol+"//"+Ft.host!=l.protocol+"//"+l.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=A.param(p.data,p.traditional)),Vt(zt,p,t,E),c)return E;for(d in(u=A.event&&p.global)&&0==A.active++&&A.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nt.test(p.type),i=p.url.replace(Dt,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Pt,"+")):(f=p.url.slice(i.length),p.data&&(p.processData||"string"==typeof p.data)&&(i+=($t.test(i)?"&":"?")+p.data,delete p.data),!1===p.cache&&(i=i.replace(Rt,"$1"),f=($t.test(i)?"&":"?")+"_="+St.guid+++f),p.url=i+f),p.ifModified&&(A.lastModified[i]&&E.setRequestHeader("If-Modified-Since",A.lastModified[i]),A.etag[i]&&E.setRequestHeader("If-None-Match",A.etag[i])),(p.data&&p.hasContent&&!1!==p.contentType||t.contentType)&&E.setRequestHeader("Content-Type",p.contentType),E.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Bt+"; q=0.01":""):p.accepts["*"]),p.headers)E.setRequestHeader(d,p.headers[d]);if(p.beforeSend&&(!1===p.beforeSend.call(h,E,p)||c))return E.abort();if(k="abort",m.add(p.complete),E.done(p.success),E.fail(p.error),r=Vt(Lt,p,t,E)){if(E.readyState=1,u&&g.trigger("ajaxSend",[E,p]),c)return E;p.async&&p.timeout>0&&(s=n.setTimeout((function(){E.abort("timeout")}),p.timeout));try{c=!1,r.send(x,S)}catch(e){if(c)throw e;S(-1,e)}}else S(-1,"No Transport");function S(e,t,a,l){var d,f,y,x,w,k=t;c||(c=!0,s&&n.clearTimeout(s),r=void 0,o=l||"",E.readyState=e>0?4:0,d=e>=200&&e<300||304===e,a&&(x=function(e,t,n){for(var r,i,o,a,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}(p,E,a)),!d&&A.inArray("script",p.dataTypes)>-1&&(p.converters["text script"]=function(){}),x=function(e,t,n,r){var i,o,a,s,l,c={},u=e.dataTypes.slice();if(u[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(o=u.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(a=c[l+" "+o]||c["* "+o]))for(i in c)if((s=i.split(" "))[1]===o&&(a=c[l+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[i]:!0!==c[i]&&(o=s[0],u.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(p,x,E,d),d?(p.ifModified&&((w=E.getResponseHeader("Last-Modified"))&&(A.lastModified[i]=w),(w=E.getResponseHeader("etag"))&&(A.etag[i]=w)),204===e||"HEAD"===p.type?k="nocontent":304===e?k="notmodified":(k=x.state,f=x.data,d=!(y=x.error))):(y=k,!e&&k||(k="error",e<0&&(e=0))),E.status=e,E.statusText=(t||k)+"",d?v.resolveWith(h,[f,k,E]):v.rejectWith(h,[E,k,y]),E.statusCode(b),b=void 0,u&&g.trigger(d?"ajaxSuccess":"ajaxError",[E,p,d?f:y]),m.fireWith(h,[E,k]),u&&(g.trigger("ajaxComplete",[E,p]),--A.active||A.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return A.get(e,t,n,"json")},getScript:function(e,t){return A.get(e,void 0,t,"script")}}),A.each(["get","post"],(function(e,t){A[t]=function(e,n,r,i){return m(n)&&(i=i||r,r=n,n=void 0),A.ajax(A.extend({url:e,type:t,dataType:i,data:n,success:r},A.isPlainObject(e)&&e))}})),A.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),A._evalUrl=function(e,t,n){return A.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){A.globalEval(e,t,n)}})},A.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=A(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return m(e)?this.each((function(t){A(this).wrapInner(e.call(this,t))})):this.each((function(){var t=A(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=m(e);return this.each((function(n){A(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){A(this).replaceWith(this.childNodes)})),this}}),A.expr.pseudos.hidden=function(e){return!A.expr.pseudos.visible(e)},A.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},A.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ht={0:200,1223:204},Gt=A.ajaxSettings.xhr();v.cors=!!Gt&&"withCredentials"in Gt,v.ajax=Gt=!!Gt,A.ajaxTransport((function(e){var t,r;if(v.cors||Gt&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Ht[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout((function(){t&&r()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),A.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),A.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return A.globalEval(e),e}}}),A.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),A.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=A(" diff --git a/docs/manifest.json b/docs/manifest.json index 1169a2e..64f672a 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v5.json", "dbt_version": "1.1.0", "generated_at": "2022-04-29T20:18:40.432565Z", "invocation_id": "1f852ed9-2958-4c39-aa44-26188a09128e", "env": {}, "project_id": "f8f23f95e595b2cd2ad26844aa066679", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.jira_source_integration_tests.issue_link": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_link"], "unique_id": "seed.jira_source_integration_tests.issue_link", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_link.csv", "original_file_path": "seeds/issue_link.csv", "name": "issue_link", "alias": "issue_link", "checksum": {"name": "sha256", "checksum": "5d31489970cb5d0c119af37bb32e993cad93f07c07de382dffec4e43846a65e3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.059423, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_link`"}, "seed.jira_source_integration_tests.issue_type": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_type"], "unique_id": "seed.jira_source_integration_tests.issue_type", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_type.csv", "original_file_path": "seeds/issue_type.csv", "name": "issue_type", "alias": "issue_type", "checksum": {"name": "sha256", "checksum": "79281a86f92794b477aa2b1c9578ba012fedc4415592051972b35fc0f173a01b"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.064779, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_type`"}, "seed.jira_source_integration_tests.project_board": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "project_board"], "unique_id": "seed.jira_source_integration_tests.project_board", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project_board.csv", "original_file_path": "seeds/project_board.csv", "name": "project_board", "alias": "project_board", "checksum": {"name": "sha256", "checksum": "04f1ff6543a5214207218e40e7e1664555ccb512d76ba5e14c2ecc42bb9644ad"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.065697, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`project_board`"}, "seed.jira_source_integration_tests.resolution": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "resolution"], "unique_id": "seed.jira_source_integration_tests.resolution", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "resolution.csv", "original_file_path": "seeds/resolution.csv", "name": "resolution", "alias": "resolution", "checksum": {"name": "sha256", "checksum": "531ee2fe6400e78041d7573ccf989aa9b9e3e43aad8cd701b7c3e25fd653cc90"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.066599, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`resolution`"}, "seed.jira_source_integration_tests.version": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "version"], "unique_id": "seed.jira_source_integration_tests.version", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "version.csv", "original_file_path": "seeds/version.csv", "name": "version", "alias": "version", "checksum": {"name": "sha256", "checksum": "bf33e0bb428925e76d6c321ab89507798cd959a1eac7969d91f5e4f0836bee99"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.067472, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`version`"}, "seed.jira_source_integration_tests.status": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "status"], "unique_id": "seed.jira_source_integration_tests.status", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "status.csv", "original_file_path": "seeds/status.csv", "name": "status", "alias": "status", "checksum": {"name": "sha256", "checksum": "8a8c0167d920ede6bfabc65b7222e8d7dd8a89980300ea94b2f3b73c0a5fd645"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.068435, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`status`"}, "seed.jira_source_integration_tests.user_group": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "user_group"], "unique_id": "seed.jira_source_integration_tests.user_group", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "user_group.csv", "original_file_path": "seeds/user_group.csv", "name": "user_group", "alias": "user_group", "checksum": {"name": "sha256", "checksum": "d4f0f807391428848ccbed1222b3a257ec19268893a4bd5bb99232636bf1d105"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.069312, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`user_group`"}, "seed.jira_source_integration_tests.component": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "project_id": "int64"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "component"], "unique_id": "seed.jira_source_integration_tests.component", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "component.csv", "original_file_path": "seeds/component.csv", "name": "component", "alias": "component", "checksum": {"name": "sha256", "checksum": "4488ce1f19d7cba2e11b81d79de180b955e52ec4028dd5e3061f6d8866919a2a"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "project_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1651263521.0702112, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`component`"}, "seed.jira_source_integration_tests.project": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "project"], "unique_id": "seed.jira_source_integration_tests.project", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project.csv", "original_file_path": "seeds/project.csv", "name": "project", "alias": "project", "checksum": {"name": "sha256", "checksum": "fd8986c9b9a2eaecbe37500e7f5c7529b959dfe2422bf2d662754e292d53c134"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.0711439, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`project`"}, "seed.jira_source_integration_tests.issue_multiselect_history": {"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": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "int64", "value": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_multiselect_history"], "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_multiselect_history.csv", "original_file_path": "seeds/issue_multiselect_history.csv", "name": "issue_multiselect_history", "alias": "issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "266af0ef486fec0a6db9679d2dd4d15ecba43bff757867eb5de674c8e6257b81"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.0723882, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_multiselect_history`"}, "seed.jira_source_integration_tests.comment": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "created": "timestamp", "issue_id": "int64", "updated": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "comment"], "unique_id": "seed.jira_source_integration_tests.comment", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "comment.csv", "original_file_path": "seeds/comment.csv", "name": "comment", "alias": "comment", "checksum": {"name": "sha256", "checksum": "d3e7dc573cc229747d3a0097e90324be44bd7633336d7d854af579637cd65963"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "updated": "timestamp"}}, "created_at": 1651263521.073326, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`comment`"}, "seed.jira_source_integration_tests.issue": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue"], "unique_id": "seed.jira_source_integration_tests.issue", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue.csv", "original_file_path": "seeds/issue.csv", "name": "issue", "alias": "issue", "checksum": {"name": "sha256", "checksum": "4e6858da36f851a3d93127b8cf4d43dbe8114e13aeb5c841bd8c7d4cbcb425fc"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.07425, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue`"}, "seed.jira_source_integration_tests.sprint": {"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": {"_fivetran_synced": "timestamp", "id": "int64", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "sprint"], "unique_id": "seed.jira_source_integration_tests.sprint", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "sprint.csv", "original_file_path": "seeds/sprint.csv", "name": "sprint", "alias": "sprint", "checksum": {"name": "sha256", "checksum": "919fd64d33b7c2a55fdcd3bb30eb19030dff6825b7c651867ad17512407df873"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}}, "created_at": 1651263521.075159, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`sprint`"}, "seed.jira_source_integration_tests.field_option": {"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": {"_fivetran_synced": "timestamp", "id": "int64"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "field_option"], "unique_id": "seed.jira_source_integration_tests.field_option", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "field_option.csv", "original_file_path": "seeds/field_option.csv", "name": "field_option", "alias": "field_option", "checksum": {"name": "sha256", "checksum": "7098765ca05d57eb72a62dbf8a73dec47359a14fe74d4438a5f8ac0b43b84fb5"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1651263521.0760791, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`field_option`"}, "seed.jira_source_integration_tests.epic": {"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": {"_fivetran_synced": "timestamp", "id": "int64"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "epic"], "unique_id": "seed.jira_source_integration_tests.epic", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "epic.csv", "original_file_path": "seeds/epic.csv", "name": "epic", "alias": "epic", "checksum": {"name": "sha256", "checksum": "c0330c18dbeb3ba527c84e3625f7ce51994d90296970a0f03cd7bf74dd37b68e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1651263521.07708, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`epic`"}, "seed.jira_source_integration_tests.field": {"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": {"_fivetran_synced": "timestamp", "id": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "field"], "unique_id": "seed.jira_source_integration_tests.field", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "field.csv", "original_file_path": "seeds/field.csv", "name": "field", "alias": "field", "checksum": {"name": "sha256", "checksum": "1a1bf85a3609dae9208a40cdb353b710125668595523093b4c36109b2f99aa07"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.0780091, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`field`"}, "seed.jira_source_integration_tests.user": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "user"], "unique_id": "seed.jira_source_integration_tests.user", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "user.csv", "original_file_path": "seeds/user.csv", "name": "user", "alias": "user", "checksum": {"name": "sha256", "checksum": "09b765c18fcde1e10c80196dc6b38d635fa6ce1361ba31aa2b2da75f447951ab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.078913, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`user`"}, "seed.jira_source_integration_tests.priority": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "priority"], "unique_id": "seed.jira_source_integration_tests.priority", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "priority.csv", "original_file_path": "seeds/priority.csv", "name": "priority", "alias": "priority", "checksum": {"name": "sha256", "checksum": "c64e8f0963669242bf6355d5658bef9bacea31c4ee9378d970965b4cef06c691"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.079793, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`priority`"}, "seed.jira_source_integration_tests.status_category": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "status_category"], "unique_id": "seed.jira_source_integration_tests.status_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "status_category.csv", "original_file_path": "seeds/status_category.csv", "name": "status_category", "alias": "status_category", "checksum": {"name": "sha256", "checksum": "b70923cd595a54c3e64fe588783062ca1115e9055dbe63329c203fcb3c14b1c3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.0807629, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`status_category`"}, "seed.jira_source_integration_tests.issue_field_history": {"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": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "int64", "value": "string"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_field_history"], "unique_id": "seed.jira_source_integration_tests.issue_field_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_field_history.csv", "original_file_path": "seeds/issue_field_history.csv", "name": "issue_field_history", "alias": "issue_field_history", "checksum": {"name": "sha256", "checksum": "3cbf9808964cb92833f78327f878bd6fc174784bcdb1630d8a56959fdf7e1f9c"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1651263521.081681, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`issue_field_history`"}, "seed.jira_source_integration_tests.project_category": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests", "fqn": ["jira_source_integration_tests", "project_category"], "unique_id": "seed.jira_source_integration_tests.project_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project_category.csv", "original_file_path": "seeds/project_category.csv", "name": "project_category", "alias": "project_category", "checksum": {"name": "sha256", "checksum": "0420d8a815583af92a68a51fa4b46d3081a33aa8c2d6649d7f52065721a0301d"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1651263521.0825658, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests`.`project_category`"}, "model.jira_source.stg_jira__comment": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__comment_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_jira__comment_tmp')),\n staging_columns=get_comment_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n cast(created as {{ dbt_utils.type_timestamp() }}) as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n cast(updated as {{ dbt_utils.type_timestamp() }}) as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_comment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__comment"], "unique_id": "model.jira_source.stg_jira__comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__comment.sql", "original_file_path": "models/stg_jira__comment.sql", "name": "stg_jira__comment", "alias": "stg_jira__comment", "checksum": {"name": "sha256", "checksum": "7e029c5a1c0c52422024b8b556ae4d00c74d2775ecc2c58a8dda0e62e399d854"}, "tags": [], "refs": [["stg_jira__comment_tmp"], ["stg_jira__comment_tmp"]], "sources": [], "description": "Table of comments made on issues.", "columns": {"comment_id": {"name": "comment_id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_user_id": {"name": "author_user_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the comment was created. TODO - get timezone clarification", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_update_user_id": {"name": "last_update_user_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_updated_at": {"name": "last_updated_at", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__comment.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.267812, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n author_id\n \n , \n cast(null as \n string\n) as \n \n body\n \n , \n cast(null as \n timestamp\n) as \n \n created\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as boolean) as \n \n is_public\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n string\n) as \n \n update_author_id\n \n , \n cast(null as \n timestamp\n) as \n \n updated\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n cast(created as \n timestamp\n) as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n cast(updated as \n timestamp\n) as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment`"}, "model.jira_source.stg_jira__project": {"raw_sql": "with base as (\n \n select *\n from {{ ref('stg_jira__project_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_jira__project_tmp')),\n staging_columns=get_project_columns()\n )\n }}\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_project_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__project"], "unique_id": "model.jira_source.stg_jira__project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__project.sql", "original_file_path": "models/stg_jira__project.sql", "name": "stg_jira__project", "alias": "stg_jira__project", "checksum": {"name": "sha256", "checksum": "b79355d418e10ba5291f50718372e85750c439981b28e786fd401fe7d51bd6fb"}, "tags": [], "refs": [["stg_jira__project_tmp"], ["stg_jira__project_tmp"]], "sources": [], "description": "Table of all projects in your organization.", "columns": {"project_id": {"name": "project_id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_description": {"name": "project_description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_key": {"name": "project_key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_lead_user_id": {"name": "project_lead_user_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_name": {"name": "project_name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__project.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2778308, "compiled_sql": "with base as (\n \n select *\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n key\n \n , \n cast(null as \n string\n) as \n \n lead_id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n int64\n) as \n \n permission_scheme_id\n \n , \n cast(null as \n int64\n) as \n \n project_category_id\n \n \n\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project`"}, "model.jira_source.stg_jira__issue_field_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_field_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_jira__issue_field_history_tmp')),\n staging_columns=get_issue_field_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' -%}\n cast(\"TIME\" as {{ dbt_utils.type_timestamp() }})\n {% elif target.type == 'redshift' -%}\n cast(\"time\" as {{ dbt_utils.type_timestamp() }})\n {% else -%}\n cast(time as {{ dbt_utils.type_timestamp() }})\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_field_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_field_history"], "unique_id": "model.jira_source.stg_jira__issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_field_history.sql", "original_file_path": "models/stg_jira__issue_field_history.sql", "name": "stg_jira__issue_field_history", "alias": "stg_jira__issue_field_history", "checksum": {"name": "sha256", "checksum": "9994da4b11053a63d4f20c0f85dd5aafbb13af04dc0759f7497697979e67b958"}, "tags": [], "refs": [["stg_jira__issue_field_history_tmp"], ["stg_jira__issue_field_history_tmp"]], "sources": [], "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_field_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.274475, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n field_id\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n string\n) as \n \n value\n \n , \n cast(null as \n timestamp\n) as \n \n time\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as \n string\n) as field_id,\n issue_id,\n cast(time as \n timestamp\n)\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history`"}, "model.jira_source.stg_jira__version": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__version_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_jira__version_tmp')),\n staging_columns=get_version_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n cast(release_date as {{ dbt_utils.type_timestamp() }}) as release_date,\n released as is_released,\n cast(start_date as {{ dbt_utils.type_timestamp() }}) as start_date\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_version_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__version"], "unique_id": "model.jira_source.stg_jira__version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__version.sql", "original_file_path": "models/stg_jira__version.sql", "name": "stg_jira__version", "alias": "stg_jira__version", "checksum": {"name": "sha256", "checksum": "8fc176416dc472dcc7b32386472384590d426f399fe034616c97f111701fbe4a"}, "tags": [], "refs": [["stg_jira__version_tmp"], ["stg_jira__version_tmp"]], "sources": [], "description": "Table of project versions in your organization.", "columns": {"is_archived": {"name": "is_archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_name": {"name": "version_name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_released": {"name": "is_released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__version.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2831738, "compiled_sql": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as boolean) as \n \n archived\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n overdue\n \n , \n cast(null as \n int64\n) as \n \n project_id\n \n , \n cast(null as date) as \n \n release_date\n \n , \n cast(null as boolean) as \n \n released\n \n , \n cast(null as date) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n cast(release_date as \n timestamp\n) as release_date,\n released as is_released,\n cast(start_date as \n timestamp\n) as start_date\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version`"}, "model.jira_source.stg_jira__sprint": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__sprint_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_jira__sprint_tmp')),\n staging_columns=get_sprint_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n cast(complete_date as {{ dbt_utils.type_timestamp() }}) as completed_at,\n cast(end_date as {{ dbt_utils.type_timestamp() }}) as ended_at,\n cast(start_date as {{ dbt_utils.type_timestamp() }}) as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_sprint_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__sprint"], "unique_id": "model.jira_source.stg_jira__sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__sprint.sql", "original_file_path": "models/stg_jira__sprint.sql", "name": "stg_jira__sprint", "alias": "stg_jira__sprint", "checksum": {"name": "sha256", "checksum": "4f918dc4b55a375be7a8706f535e334000d962c679f1c5230b6a3589e1983e41"}, "tags": [], "refs": [["stg_jira__sprint_tmp"], ["stg_jira__sprint_tmp"]], "sources": [], "description": "Table of all sprints.", "columns": {"sprint_id": {"name": "sprint_id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "completed_at": {"name": "completed_at", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ended_at": {"name": "ended_at", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "sprint_name": {"name": "sprint_name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "started_at": {"name": "started_at", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__sprint.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.279488, "compiled_sql": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n board_id\n \n , \n cast(null as \n timestamp\n) as \n \n complete_date\n \n , \n cast(null as \n timestamp\n) as \n \n end_date\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n timestamp\n) as \n \n start_date\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n cast(complete_date as \n timestamp\n) as completed_at,\n cast(end_date as \n timestamp\n) as ended_at,\n cast(start_date as \n timestamp\n) as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint`"}, "model.jira_source.stg_jira__field_option": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_option_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_jira__field_option_tmp')),\n staging_columns=get_field_option_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_option_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__field_option"], "unique_id": "model.jira_source.stg_jira__field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__field_option.sql", "original_file_path": "models/stg_jira__field_option.sql", "name": "stg_jira__field_option", "alias": "stg_jira__field_option", "checksum": {"name": "sha256", "checksum": "92dee2e3923eb2d830a7caa04c5564b4feb2dcc90af364b01ea5de717d2c38bb"}, "tags": [], "refs": [["stg_jira__field_option_tmp"], ["stg_jira__field_option_tmp"]], "sources": [], "description": "Table of all options related to custom fields.", "columns": {"field_id": {"name": "field_id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_option_name": {"name": "field_option_name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field_option.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.269918, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option`"}, "model.jira_source.stg_jira__field": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_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_jira__field_tmp')),\n staging_columns=get_field_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_string() }}) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__field"], "unique_id": "model.jira_source.stg_jira__field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__field.sql", "original_file_path": "models/stg_jira__field.sql", "name": "stg_jira__field", "alias": "stg_jira__field", "checksum": {"name": "sha256", "checksum": "bd9e1203d72fee62d517f29766a023fa75369dcfc43dd22d1c18a5b0ee6e430e"}, "tags": [], "refs": [["stg_jira__field_tmp"], ["stg_jira__field_tmp"]], "sources": [], "description": "Table of all issue fields.", "columns": {"field_id": {"name": "field_id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_name": {"name": "field_name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.269439, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n id\n \n , \n cast(null as boolean) as \n \n is_array\n \n , \n cast(null as boolean) as \n \n is_custom\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as \n string\n) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field`"}, "model.jira_source.stg_jira__resolution": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__resolution_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_jira__resolution_tmp')),\n staging_columns=get_resolution_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_resolution_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__resolution"], "unique_id": "model.jira_source.stg_jira__resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__resolution.sql", "original_file_path": "models/stg_jira__resolution.sql", "name": "stg_jira__resolution", "alias": "stg_jira__resolution", "checksum": {"name": "sha256", "checksum": "df0a7fee42db70dbcfb35b1451336d745203a8ecdad4151617aae411dcf3ca5d"}, "tags": [], "refs": [["stg_jira__resolution_tmp"], ["stg_jira__resolution_tmp"]], "sources": [], "description": "Table storing the types of resolutions used by your organization.", "columns": {"resolution_id": {"name": "resolution_id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_description": {"name": "resolution_description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_name": {"name": "resolution_name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__resolution.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.278506, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution`"}, "model.jira_source.stg_jira__status": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_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_jira__status_tmp')),\n staging_columns=get_status_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__status"], "unique_id": "model.jira_source.stg_jira__status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__status.sql", "original_file_path": "models/stg_jira__status.sql", "name": "stg_jira__status", "alias": "stg_jira__status", "checksum": {"name": "sha256", "checksum": "648c813903f25664f0814e811e0d78023933601777f17ad4ee32a831477bc6e6"}, "tags": [], "refs": [["stg_jira__status_tmp"], ["stg_jira__status_tmp"]], "sources": [], "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"status_id": {"name": "status_id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_description": {"name": "status_description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_name": {"name": "status_name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2802072, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n int64\n) as \n \n status_category_id\n \n \n\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status`"}, "model.jira_source.stg_jira__issue": {"raw_sql": "with base as (\n \n select * \n from {{ ref('stg_jira__issue_tmp') }}\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_tmp')),\n staging_columns=get_issue_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n cast(created as {{ dbt_utils.type_timestamp() }}) as created_at,\n cast(resolved as {{ dbt_utils.type_timestamp() }}) as resolved_at,\n creator as creator_user_id,\n description as issue_description,\n cast(due_date as {{ dbt_utils.type_timestamp() }}) as due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n cast(status_category_changed as {{ dbt_utils.type_timestamp() }}) as status_changed_at,\n summary as issue_name,\n cast(updated as {{ dbt_utils.type_timestamp() }}) as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue"], "unique_id": "model.jira_source.stg_jira__issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue.sql", "original_file_path": "models/stg_jira__issue.sql", "name": "stg_jira__issue", "alias": "stg_jira__issue", "checksum": {"name": "sha256", "checksum": "4c2591ea3bd9241f5b21cc97798ffacbdae4dcea9ced798629cf108d5a5a4caa"}, "tags": [], "refs": [["stg_jira__issue_tmp"], ["stg_jira__issue_tmp"]], "sources": [], "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"issue_id": {"name": "issue_id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee_user_id": {"name": "assignee_user_id", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator_user_id": {"name": "creator_user_id", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_description": {"name": "issue_description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_id": {"name": "issue_type_id", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_key": {"name": "issue_key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate_seconds": {"name": "original_estimate_seconds", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_issue_id": {"name": "parent_issue_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_id": {"name": "priority_id", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate_seconds": {"name": "remaining_estimate_seconds", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter_user_id": {"name": "reporter_user_id", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_id": {"name": "resolution_id", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved_at": {"name": "resolved_at", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is un-resolved, this will be null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_id": {"name": "status_id", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_changed_at": {"name": "status_changed_at", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_name": {"name": "issue_name", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent_seconds": {"name": "time_spent_seconds", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2737422, "compiled_sql": "with base as (\n \n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_tmp`\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n \n cast(null as boolean) as \n \n _fivetran_deleted\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n float64\n) as \n \n _original_estimate\n \n , \n cast(null as \n float64\n) as \n \n _remaining_estimate\n \n , \n cast(null as \n float64\n) as \n \n _time_spent\n \n , \n cast(null as \n string\n) as \n \n assignee\n \n , \n cast(null as \n timestamp\n) as \n \n created\n \n , \n cast(null as \n string\n) as \n \n creator\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as date) as \n \n due_date\n \n , \n cast(null as \n string\n) as \n \n environment\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n int64\n) as \n \n issue_type\n \n , \n cast(null as \n string\n) as \n \n key\n \n , \n cast(null as \n float64\n) as \n \n original_estimate\n \n , \n cast(null as \n int64\n) as \n \n parent_id\n \n , \n cast(null as \n int64\n) as \n \n priority\n \n , \n cast(null as \n int64\n) as \n \n project\n \n , \n cast(null as \n float64\n) as \n \n remaining_estimate\n \n , \n cast(null as \n string\n) as \n \n reporter\n \n , \n cast(null as \n int64\n) as \n \n resolution\n \n , \n cast(null as \n timestamp\n) as \n \n resolved\n \n , \n cast(null as \n int64\n) as \n \n status\n \n , \n cast(null as \n timestamp\n) as \n \n status_category_changed\n \n , \n cast(null as \n string\n) as \n \n summary\n \n , \n cast(null as \n float64\n) as \n \n time_spent\n \n , \n cast(null as \n timestamp\n) as \n \n updated\n \n , \n cast(null as \n float64\n) as \n \n work_ratio\n \n \n\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n cast(created as \n timestamp\n) as created_at,\n cast(resolved as \n timestamp\n) as resolved_at,\n creator as creator_user_id,\n description as issue_description,\n cast(due_date as \n timestamp\n) as due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n cast(status_category_changed as \n timestamp\n) as status_changed_at,\n summary as issue_name,\n cast(updated as \n timestamp\n) as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue`"}, "model.jira_source.stg_jira__status_category": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_category_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_jira__status_category_tmp')),\n staging_columns=get_status_category_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_category_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__status_category"], "unique_id": "model.jira_source.stg_jira__status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__status_category.sql", "original_file_path": "models/stg_jira__status_category.sql", "name": "stg_jira__status_category", "alias": "stg_jira__status_category", "checksum": {"name": "sha256", "checksum": "f260e226e6da3a826497305326ddf19c4464f0f7c052f70251d11f7a641a5aa0"}, "tags": [], "refs": [["stg_jira__status_category_tmp"], ["stg_jira__status_category_tmp"]], "sources": [], "description": "Table of umbrella status categories.", "columns": {"status_category_id": {"name": "status_category_id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_name": {"name": "status_category_name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status_category.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.280766, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category`"}, "model.jira_source.stg_jira__issue_multiselect_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_multiselect_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_jira__issue_multiselect_history_tmp')),\n staging_columns=get_issue_multiselect_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n cast(\"TIME\" as {{ dbt_utils.type_timestamp() }})\n {% elif target.type == 'redshift' %}\n cast(\"time\" as {{ dbt_utils.type_timestamp() }})\n {% else %}\n cast(time as {{ dbt_utils.type_timestamp() }})\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_multiselect_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_multiselect_history"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_multiselect_history.sql", "original_file_path": "models/stg_jira__issue_multiselect_history.sql", "name": "stg_jira__issue_multiselect_history", "alias": "stg_jira__issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "c9fd53a4b2b6b8f6bd365064c89d1ca7014757553a7dd767a378e23240bf9420"}, "tags": [], "refs": [["stg_jira__issue_multiselect_history_tmp"], ["stg_jira__issue_multiselect_history_tmp"]], "sources": [], "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_multiselect_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2753081, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n string\n) as \n \n _fivetran_id\n \n , \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n field_id\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n string\n) as \n \n value\n \n , \n cast(null as \n timestamp\n) as \n \n time\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as \n string\n) as field_id,\n issue_id,\n \n cast(time as \n timestamp\n)\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history`"}, "model.jira_source.stg_jira__issue_type": {"raw_sql": "with base as (\n\n select * from \n {{ ref('stg_jira__issue_type_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_jira__issue_type_tmp')),\n staging_columns=get_issue_type_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_type_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_type"], "unique_id": "model.jira_source.stg_jira__issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_type.sql", "original_file_path": "models/stg_jira__issue_type.sql", "name": "stg_jira__issue_type", "alias": "stg_jira__issue_type", "checksum": {"name": "sha256", "checksum": "605f5eb9aee0eca280a7c9186d69c378ee3649cd35e495ed387e0a8c19b9cb64"}, "tags": [], "refs": [["stg_jira__issue_type_tmp"], ["stg_jira__issue_type_tmp"]], "sources": [], "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"issue_type_id": {"name": "issue_type_id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_name": {"name": "issue_type_name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_subtask": {"name": "is_subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_type.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2761128, "compiled_sql": "with base as (\n\n select * from \n `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type_tmp`\n),\n\nfields as (\n\n select \n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as boolean) as \n \n subtask\n \n \n\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type`"}, "model.jira_source.stg_jira__issue_link": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_link_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_jira__issue_link_tmp')),\n staging_columns=get_issue_link_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_link_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__issue_link"], "unique_id": "model.jira_source.stg_jira__issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_link.sql", "original_file_path": "models/stg_jira__issue_link.sql", "name": "stg_jira__issue_link", "alias": "stg_jira__issue_link", "checksum": {"name": "sha256", "checksum": "7b8846ace343b3984c16bccb1a7bc2f49c6eef1547dec7a2fbcb1a206daff5bb"}, "tags": [], "refs": [["stg_jira__issue_link_tmp"], ["stg_jira__issue_link_tmp"]], "sources": [], "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_link.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.270495, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_link_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n int64\n) as \n \n issue_id\n \n , \n cast(null as \n int64\n) as \n \n related_issue_id\n \n , \n cast(null as \n string\n) as \n \n relationship\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_link`"}, "model.jira_source.stg_jira__component": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__component_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_jira__component_tmp')),\n staging_columns=get_component_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_component_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__component"], "unique_id": "model.jira_source.stg_jira__component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__component.sql", "original_file_path": "models/stg_jira__component.sql", "name": "stg_jira__component", "alias": "stg_jira__component", "checksum": {"name": "sha256", "checksum": "22f31e1f8c71e992171ead7a23e0c61d654dab19ebec7e227c741a704887783d"}, "tags": [], "refs": [["stg_jira__component_tmp"], ["stg_jira__component_tmp"]], "sources": [], "description": "Table of project components (subsections to group issues).", "columns": {"component_id": {"name": "component_id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_description": {"name": "component_description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_name": {"name": "component_name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__component.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2686138, "compiled_sql": "\n\nwith base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n int64\n) as \n \n project_id\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component`"}, "model.jira_source.stg_jira__user": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__user_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_jira__user_tmp')),\n staging_columns=get_user_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_user_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__user"], "unique_id": "model.jira_source.stg_jira__user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__user.sql", "original_file_path": "models/stg_jira__user.sql", "name": "stg_jira__user", "alias": "stg_jira__user", "checksum": {"name": "sha256", "checksum": "95b85f878a0a0784390ff0c1738c4bf709902531870b71fee4165f1628d4faa3"}, "tags": [], "refs": [["stg_jira__user_tmp"], ["stg_jira__user_tmp"]], "sources": [], "description": "Table of users associated with your organization.", "columns": {"user_id": {"name": "user_id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "user_display_name": {"name": "user_display_name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__user.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.281752, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n email\n \n , \n cast(null as \n string\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n locale\n \n , \n cast(null as \n string\n) as \n \n name\n \n , \n cast(null as \n string\n) as \n \n time_zone\n \n , \n cast(null as \n string\n) as \n \n username\n \n \n\n\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user`"}, "model.jira_source.stg_jira__priority": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__priority_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_jira__priority_tmp')),\n staging_columns=get_priority_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_priority_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "table", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "stg_jira__priority"], "unique_id": "model.jira_source.stg_jira__priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__priority.sql", "original_file_path": "models/stg_jira__priority.sql", "name": "stg_jira__priority", "alias": "stg_jira__priority", "checksum": {"name": "sha256", "checksum": "a8495cfa4a37528969e67b871bdf192c97a4a60dc507c0d919175f1b2552feb3"}, "tags": [], "refs": [["stg_jira__priority_tmp"], ["stg_jira__priority_tmp"]], "sources": [], "description": "Table of issue priority levels (global).", "columns": {"priority_id": {"name": "priority_id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_description": {"name": "priority_description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_name": {"name": "priority_name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__priority.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "stg_jira"}, "created_at": 1651263521.2767239, "compiled_sql": "with base as (\n\n select * \n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority_tmp`\n),\n\nfields as (\n\n select\n \n cast(null as \n timestamp\n) as \n \n _fivetran_synced\n \n , \n cast(null as \n string\n) as \n \n description\n \n , \n cast(null as \n int64\n) as \n \n id\n \n , \n cast(null as \n string\n) as \n \n name\n \n \n\n\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority`"}, "model.jira_source.stg_jira__version_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nselect * \nfrom {{ var('version') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.version"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__version_tmp"], "unique_id": "model.jira_source.stg_jira__version_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__version_tmp.sql", "original_file_path": "models/tmp/stg_jira__version_tmp.sql", "name": "stg_jira__version_tmp", "alias": "stg_jira__version_tmp", "checksum": {"name": "sha256", "checksum": "4e16bea890df92fe2393d1e151479ee51ed270f40d9b4ba3f922d858787c347e"}, "tags": [], "refs": [], "sources": [["jira", "version"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__version_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2137432, "compiled_sql": "\n\nselect * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`version`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version_tmp`"}, "model.jira_source.stg_jira__status_category_tmp": {"raw_sql": "select * \nfrom {{ var('status_category') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status_category"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_category_tmp"], "unique_id": "model.jira_source.stg_jira__status_category_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__status_category_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_category_tmp.sql", "name": "stg_jira__status_category_tmp", "alias": "stg_jira__status_category_tmp", "checksum": {"name": "sha256", "checksum": "ce976a7afa132349c28940f9d387b3e635c9a6dd2576844347910580ea592a4b"}, "tags": [], "refs": [], "sources": [["jira", "status_category"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_category_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.21698, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`status_category`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category_tmp`"}, "model.jira_source.stg_jira__field_option_tmp": {"raw_sql": "select * \nfrom {{ var('field_option') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field_option"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_option_tmp"], "unique_id": "model.jira_source.stg_jira__field_option_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__field_option_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_option_tmp.sql", "name": "stg_jira__field_option_tmp", "alias": "stg_jira__field_option_tmp", "checksum": {"name": "sha256", "checksum": "cb1e64625d369889104ada54bf610b9aa36e1623853ae29ae24bd8f5bb4b2437"}, "tags": [], "refs": [], "sources": [["jira", "field_option"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_option_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.219581, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`field_option`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option_tmp`"}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_multiselect_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_multiselect_history"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_multiselect_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_multiselect_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "name": "stg_jira__issue_multiselect_history_tmp", "alias": "stg_jira__issue_multiselect_history_tmp", "checksum": {"name": "sha256", "checksum": "faf8d7e362472ef899552eba8ee39c1fa8a1b803f64a639d6f481400861bc24a"}, "tags": [], "refs": [], "sources": [["jira", "issue_multiselect_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.222132, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_multiselect_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history_tmp`"}, "model.jira_source.stg_jira__issue_type_tmp": {"raw_sql": "select * \nfrom {{ var('issue_type') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_type_tmp"], "unique_id": "model.jira_source.stg_jira__issue_type_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_type_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_type_tmp.sql", "name": "stg_jira__issue_type_tmp", "alias": "stg_jira__issue_type_tmp", "checksum": {"name": "sha256", "checksum": "166aa9a9ce724421198262fb67dd01b9130712cada1defcd20a991308676e5d0"}, "tags": [], "refs": [], "sources": [["jira", "issue_type"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_type_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.225263, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_type`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type_tmp`"}, "model.jira_source.stg_jira__sprint_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nselect * \nfrom {{ var('sprint') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.sprint"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__sprint_tmp"], "unique_id": "model.jira_source.stg_jira__sprint_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__sprint_tmp.sql", "original_file_path": "models/tmp/stg_jira__sprint_tmp.sql", "name": "stg_jira__sprint_tmp", "alias": "stg_jira__sprint_tmp", "checksum": {"name": "sha256", "checksum": "a21fcc01937bc59051bdd08532e3cf8535b078b2204f659f9ef98817dfb0c463"}, "tags": [], "refs": [], "sources": [["jira", "sprint"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__sprint_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.2277818, "compiled_sql": "\n\nselect * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`sprint`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint_tmp`"}, "model.jira_source.stg_jira__status_tmp": {"raw_sql": "select * \nfrom {{ var('status') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_tmp"], "unique_id": "model.jira_source.stg_jira__status_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__status_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_tmp.sql", "name": "stg_jira__status_tmp", "alias": "stg_jira__status_tmp", "checksum": {"name": "sha256", "checksum": "206c9a7f6e35d22a162df8e6d1ae4c121382af956e056ca619faff9986ab16b3"}, "tags": [], "refs": [], "sources": [["jira", "status"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.230786, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`status`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_tmp`"}, "model.jira_source.stg_jira__project_tmp": {"raw_sql": "select * \nfrom {{ var('project') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.project"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__project_tmp"], "unique_id": "model.jira_source.stg_jira__project_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__project_tmp.sql", "original_file_path": "models/tmp/stg_jira__project_tmp.sql", "name": "stg_jira__project_tmp", "alias": "stg_jira__project_tmp", "checksum": {"name": "sha256", "checksum": "776cf64136ff22eaa9fddcb5b4aadd58e5b295800ffd8b3a2c3871ed22531599"}, "tags": [], "refs": [], "sources": [["jira", "project"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__project_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2333992, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`project`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project_tmp`"}, "model.jira_source.stg_jira__comment_tmp": {"raw_sql": "select * \nfrom {{ var('comment') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.comment"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__comment_tmp"], "unique_id": "model.jira_source.stg_jira__comment_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__comment_tmp.sql", "original_file_path": "models/tmp/stg_jira__comment_tmp.sql", "name": "stg_jira__comment_tmp", "alias": "stg_jira__comment_tmp", "checksum": {"name": "sha256", "checksum": "50e78fc23c6041b43d46c0adf7f6cf3c1e2375ef3410fbdd2f527028d9830880"}, "tags": [], "refs": [], "sources": [["jira", "comment"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__comment_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2358952, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`comment`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment_tmp`"}, "model.jira_source.stg_jira__issue_field_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_field_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_field_history"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_field_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_field_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_field_history_tmp.sql", "name": "stg_jira__issue_field_history_tmp", "alias": "stg_jira__issue_field_history_tmp", "checksum": {"name": "sha256", "checksum": "037b5bef93c17b862d1969a35a66f10feb507b34d943b093c13ace0298b5d855"}, "tags": [], "refs": [], "sources": [["jira", "issue_field_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_field_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2384288, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_field_history`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history_tmp`"}, "model.jira_source.stg_jira__issue_link_tmp": {"raw_sql": "select * \nfrom {{ var('issue_link') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_link"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_link_tmp"], "unique_id": "model.jira_source.stg_jira__issue_link_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_link_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_link_tmp.sql", "name": "stg_jira__issue_link_tmp", "alias": "stg_jira__issue_link_tmp", "checksum": {"name": "sha256", "checksum": "deb68ea3ff7d2f0d254d06e07829733756ce80efb7af5209e5ae43840b8e254a"}, "tags": [], "refs": [], "sources": [["jira", "issue_link"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_link_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2415419, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue_link`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_link_tmp`"}, "model.jira_source.stg_jira__field_tmp": {"raw_sql": "select * \nfrom {{ var('field') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_tmp"], "unique_id": "model.jira_source.stg_jira__field_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__field_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_tmp.sql", "name": "stg_jira__field_tmp", "alias": "stg_jira__field_tmp", "checksum": {"name": "sha256", "checksum": "aa842b8fc7fa2e61d4b04634ddae4948afce86a6c1ba37197e01c5baeef8f374"}, "tags": [], "refs": [], "sources": [["jira", "field"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.244061, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`field`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_tmp`"}, "model.jira_source.stg_jira__user_tmp": {"raw_sql": "select * \nfrom {{ var('user') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.user"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__user_tmp"], "unique_id": "model.jira_source.stg_jira__user_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__user_tmp.sql", "original_file_path": "models/tmp/stg_jira__user_tmp.sql", "name": "stg_jira__user_tmp", "alias": "stg_jira__user_tmp", "checksum": {"name": "sha256", "checksum": "c6665b2e96c3536ab07cdc0fe31225a7be4766df0c7c353e3ade197bc8498279"}, "tags": [], "refs": [], "sources": [["jira", "user"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__user_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.2465641, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`user`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user_tmp`"}, "model.jira_source.stg_jira__issue_tmp": {"raw_sql": "select * \nfrom {{ var('issue') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_tmp"], "unique_id": "model.jira_source.stg_jira__issue_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_tmp.sql", "name": "stg_jira__issue_tmp", "alias": "stg_jira__issue_tmp", "checksum": {"name": "sha256", "checksum": "2f84522aea28fb2bef123eff34648c4777747064de156efaad69c053d3b06092"}, "tags": [], "refs": [], "sources": [["jira", "issue"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.249054, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`issue`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_tmp`"}, "model.jira_source.stg_jira__priority_tmp": {"raw_sql": "select * \nfrom {{ var('priority') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.priority"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__priority_tmp"], "unique_id": "model.jira_source.stg_jira__priority_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__priority_tmp.sql", "original_file_path": "models/tmp/stg_jira__priority_tmp.sql", "name": "stg_jira__priority_tmp", "alias": "stg_jira__priority_tmp", "checksum": {"name": "sha256", "checksum": "1985fab4baa8555431839a35bc3966d7c3a7c67e746cc79a0c9caec5ab34cf90"}, "tags": [], "refs": [], "sources": [["jira", "priority"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__priority_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.251552, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`priority`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority_tmp`"}, "model.jira_source.stg_jira__component_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nselect * \nfrom {{ var('component') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.component"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__component_tmp"], "unique_id": "model.jira_source.stg_jira__component_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__component_tmp.sql", "original_file_path": "models/tmp/stg_jira__component_tmp.sql", "name": "stg_jira__component_tmp", "alias": "stg_jira__component_tmp", "checksum": {"name": "sha256", "checksum": "968da15f4a8dbb9e51d593dd0a95ff6081d5b2e3d8f0eb8daedaf2c283decd3c"}, "tags": [], "refs": [], "sources": [["jira", "component"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__component_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira", "enabled": true}, "created_at": 1651263521.254069, "compiled_sql": "\n\nselect * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`component`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component_tmp`"}, "model.jira_source.stg_jira__resolution_tmp": {"raw_sql": "select * \nfrom {{ var('resolution') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.resolution"]}, "config": {"enabled": true, "alias": null, "schema": "stg_jira", "database": null, "tags": [], "meta": {}, "materialized": "view", "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "post-hook": [], "pre-hook": []}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_stg_jira", "fqn": ["jira_source", "tmp", "stg_jira__resolution_tmp"], "unique_id": "model.jira_source.stg_jira__resolution_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__resolution_tmp.sql", "original_file_path": "models/tmp/stg_jira__resolution_tmp.sql", "name": "stg_jira__resolution_tmp", "alias": "stg_jira__resolution_tmp", "checksum": {"name": "sha256", "checksum": "4254df90446b8911d6664fb429ae20adfb05cfe415bed40e5563a5d5bb63786a"}, "tags": [], "refs": [], "sources": [["jira", "resolution"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__resolution_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "stg_jira"}, "created_at": 1651263521.257407, "compiled_sql": "select * \nfrom `dbt-package-testing`.`jira_source_integration_tests`.`resolution`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution_tmp`"}, "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__comment_comment_id", "alias": "unique_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.287033, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select comment_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment`\n where comment_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__comment_comment_id", "alias": "not_null_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.288127, "compiled_sql": "\n \n \n\n\n\nselect comment_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__comment`\nwhere comment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__component_component_id"], "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__component_component_id", "alias": "unique_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.289061, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select component_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component`\n where component_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__component_component_id"], "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__component_component_id", "alias": "not_null_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.289994, "compiled_sql": "\n \n \n\n\n\nselect component_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__component`\nwhere component_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__field_field_id"], "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__field_field_id", "alias": "unique_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.291011, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select field_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field`\n where field_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_field_id", "alias": "not_null_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.291937, "compiled_sql": "\n \n \n\n\n\nselect field_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field_option')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field_option"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_option_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__field_option_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_option_field_id", "alias": "not_null_stg_jira__field_option_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_option_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.292827, "compiled_sql": "\n \n \n\n\n\nselect field_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__field_option`\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field_option"}, "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_issue_id", "alias": "unique_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.293856, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select issue_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue`\n where issue_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_issue_id", "alias": "not_null_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.2947452, "compiled_sql": "\n \n \n\n\n\nselect issue_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue`\nwhere issue_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["field_id", "issue_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_field_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.jira_source.stg_jira__issue_field_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at", "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f"}, "created_at": 1651263521.295639, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n field_id, issue_id, updated_at\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_field_history`\n group by field_id, issue_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_field_history"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_multiselect_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.jira_source.stg_jira__issue_multiselect_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at", "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396"}, "created_at": 1651263521.302954, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, updated_at\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_multiselect_history`\n group by _fivetran_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_multiselect_history"}, "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_type_issue_type_id", "alias": "unique_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.306093, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select issue_type_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type`\n where issue_type_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_type_issue_type_id", "alias": "not_null_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.307174, "compiled_sql": "\n \n \n\n\n\nselect issue_type_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__issue_type`\nwhere issue_type_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__priority_priority_id", "alias": "unique_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3081, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select priority_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority`\n where priority_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__priority_priority_id", "alias": "not_null_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3090072, "compiled_sql": "\n \n \n\n\n\nselect priority_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__priority`\nwhere priority_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.unique_stg_jira__project_project_id.58d321d374": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__project_project_id"], "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__project_project_id", "alias": "unique_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.309907, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select project_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project`\n where project_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__project_project_id"], "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__project_project_id", "alias": "not_null_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.310925, "compiled_sql": "\n \n \n\n\n\nselect project_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__project`\nwhere project_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__resolution_resolution_id", "alias": "unique_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3118248, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select resolution_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution`\n where resolution_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__resolution_resolution_id", "alias": "not_null_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3127072, "compiled_sql": "\n \n \n\n\n\nselect resolution_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__resolution`\nwhere resolution_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__sprint_sprint_id", "alias": "unique_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3138602, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select sprint_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint`\n where sprint_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__sprint_sprint_id", "alias": "not_null_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.315122, "compiled_sql": "\n \n \n\n\n\nselect sprint_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__sprint`\nwhere sprint_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.unique_stg_jira__status_status_id.0449241b95": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_status_id"], "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_status_id", "alias": "unique_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.316152, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select status_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status`\n where status_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_status_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_status_id", "alias": "not_null_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.317087, "compiled_sql": "\n \n \n\n\n\nselect status_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status`\nwhere status_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_category_status_category_id", "alias": "unique_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.318144, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select status_category_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category`\n where status_category_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_category_status_category_id", "alias": "not_null_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.319068, "compiled_sql": "\n \n \n\n\n\nselect status_category_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__status_category`\nwhere status_category_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__user_user_id"], "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__user_user_id", "alias": "unique_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.3200068, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select user_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user`\n where user_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__user_user_id"], "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__user_user_id", "alias": "not_null_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.32102, "compiled_sql": "\n \n \n\n\n\nselect user_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__user`\nwhere user_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.unique_stg_jira__version_version_id.08231bd017": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__version_version_id"], "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__version_version_id", "alias": "unique_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.321972, "compiled_sql": "\n \n \n\nwith dbt_test__target as (\n\n select version_id as unique_field\n from `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version`\n where version_id is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}, "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "dbt-package-testing", "schema": "apple_app_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__version_version_id"], "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__version_version_id", "alias": "not_null_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1651263521.322878, "compiled_sql": "\n \n \n\n\n\nselect version_id\nfrom `dbt-package-testing`.`apple_app_source_integration_tests_stg_jira`.`stg_jira__version`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}}, "sources": {"source.jira_source.jira.comment": {"fqn": ["jira_source", "jira", "comment"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "comment", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "comment", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of comments made on issues.", "columns": {"id": {"name": "id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_id": {"name": "author_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the comment was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "update_author_id": {"name": "update_author_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`comment`", "created_at": 1651263521.3499892}, "source.jira_source.jira.component": {"fqn": ["jira_source", "jira", "component"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "component", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "component", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project components (subsections to group issues).\n", "columns": {"id": {"name": "id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`component`", "created_at": 1651263521.3500988}, "source.jira_source.jira.field": {"fqn": ["jira_source", "jira", "field"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issue fields.", "columns": {"id": {"name": "id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`field`", "created_at": 1651263521.350167}, "source.jira_source.jira.field_option": {"fqn": ["jira_source", "jira", "field_option"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field_option", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field_option", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all options related to custom fields.", "columns": {"id": {"name": "id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`field_option`", "created_at": 1651263521.350228}, "source.jira_source.jira.issue": {"fqn": ["jira_source", "jira", "issue"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"id": {"name": "id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean that is true if the row has been soft-deleted from the source.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee": {"name": "assignee", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator": {"name": "creator", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type": {"name": "issue_type", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_viewed": {"name": "last_viewed", "description": "Timestamp of when the user who set up the connector last viewed the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate": {"name": "original_estimate", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority": {"name": "priority", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project": {"name": "project", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate": {"name": "remaining_estimate", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter": {"name": "reporter", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution": {"name": "resolution", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved": {"name": "resolved", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is marked as un-resolved, this is null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_changed": {"name": "status_category_changed", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "summary": {"name": "summary", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent": {"name": "time_spent", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue`", "created_at": 1651263521.3503108}, "source.jira_source.jira.issue_field_history": {"fqn": ["jira_source", "jira", "issue_field_history"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_field_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_field_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_field_history`", "created_at": 1651263521.35037}, "source.jira_source.jira.issue_link": {"fqn": ["jira_source", "jira", "issue_link"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_link", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_link", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_link`", "created_at": 1651263521.3504279}, "source.jira_source.jira.issue_multiselect_history": {"fqn": ["jira_source", "jira", "issue_multiselect_history"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_multiselect_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_multiselect_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_multiselect_history`", "created_at": 1651263521.350496}, "source.jira_source.jira.issue_type": {"fqn": ["jira_source", "jira", "issue_type"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_type", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_type", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"id": {"name": "id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "subtask": {"name": "subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`issue_type`", "created_at": 1651263521.350556}, "source.jira_source.jira.priority": {"fqn": ["jira_source", "jira", "priority"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "priority", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "priority", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of issue priority levels (global).", "columns": {"id": {"name": "id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`priority`", "created_at": 1651263521.350614}, "source.jira_source.jira.project": {"fqn": ["jira_source", "jira", "project"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "project", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "project", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all projects in your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lead_id": {"name": "lead_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_type_key": {"name": "project_type_key", "description": "ID of the type of project (ie 'software').", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`project`", "created_at": 1651263521.350676}, "source.jira_source.jira.resolution": {"fqn": ["jira_source", "jira", "resolution"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "resolution", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "resolution", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table storing the types of resolutions used by your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`resolution`", "created_at": 1651263521.350734}, "source.jira_source.jira.sprint": {"fqn": ["jira_source", "jira", "sprint"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "sprint", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "sprint", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all sprints.", "columns": {"id": {"name": "id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "complete_date": {"name": "complete_date", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_date": {"name": "end_date", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`sprint`", "created_at": 1651263521.350794}, "source.jira_source.jira.status": {"fqn": ["jira_source", "jira", "status"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"id": {"name": "id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`status`", "created_at": 1651263521.3508859}, "source.jira_source.jira.status_category": {"fqn": ["jira_source", "jira", "status_category"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status_category", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status_category", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of overarching status categories.", "columns": {"id": {"name": "id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`status_category`", "created_at": 1651263521.350944}, "source.jira_source.jira.user": {"fqn": ["jira_source", "jira", "user"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "user", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "user", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of users associated with your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`user`", "created_at": 1651263521.351006}, "source.jira_source.jira.version": {"fqn": ["jira_source", "jira", "version"], "database": "dbt-package-testing", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "version", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "version", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project versions in your organization.", "columns": {"archived": {"name": "archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "overdue": {"name": "overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "released": {"name": "released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`jira_source_integration_tests`.`version`", "created_at": 1651263521.35107}}, "macros": {"macro.dbt_bigquery.date_sharded_table": {"unique_id": "macro.dbt_bigquery.date_sharded_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "date_sharded_table", "macro_sql": "{% macro date_sharded_table(base_name) %}\n {{ return(base_name ~ \"[DBT__PARTITION_DATE]\") }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5190852}, "macro.dbt_bigquery.grant_access_to": {"unique_id": "macro.dbt_bigquery.grant_access_to", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "grant_access_to", "macro_sql": "{% macro grant_access_to(entity, entity_type, role, grant_target_dict) -%}\n {% do adapter.grant_access_to(entity, entity_type, role, grant_target_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.519307}, "macro.dbt_bigquery.get_partitions_metadata": {"unique_id": "macro.dbt_bigquery.get_partitions_metadata", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/etc.sql", "original_file_path": "macros/etc.sql", "name": "get_partitions_metadata", "macro_sql": "\n\n{%- macro get_partitions_metadata(table) -%}\n {%- if execute -%}\n {%- set res = adapter.get_partitions_metadata(table) -%}\n {{- return(res) -}}\n {%- endif -%}\n {{- return(None) -}}\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.51958}, "macro.dbt_bigquery.bigquery__get_catalog": {"unique_id": "macro.dbt_bigquery.bigquery__get_catalog", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "name": "bigquery__get_catalog", "macro_sql": "{% macro bigquery__get_catalog(information_schema, schemas) -%}\n\n {%- if (schemas | length) == 0 -%}\n {# Hopefully nothing cares about the columns we return when there are no rows #}\n {%- set query = \"select 1 as id limit 0\" -%}\n {%- else -%}\n\n {%- set query -%}\n with tables as (\n select\n project_id as table_database,\n dataset_id as table_schema,\n table_id as original_table_name,\n\n concat(project_id, '.', dataset_id, '.', table_id) as relation_id,\n\n row_count,\n size_bytes as size_bytes,\n case\n when type = 1 then 'table'\n when type = 2 then 'view'\n else 'external'\n end as table_type,\n\n REGEXP_CONTAINS(table_id, '^.+[0-9]{8}$') and coalesce(type, 0) = 1 as is_date_shard,\n REGEXP_EXTRACT(table_id, '^(.+)[0-9]{8}$') as shard_base_name,\n REGEXP_EXTRACT(table_id, '^.+([0-9]{8})$') as shard_name\n\n from {{ information_schema.replace(information_schema_view='__TABLES__') }}\n where (\n {%- for schema in schemas -%}\n upper(dataset_id) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n ),\n\n extracted as (\n\n select *,\n case\n when is_date_shard then shard_base_name\n else original_table_name\n end as table_name\n\n from tables\n\n ),\n\n unsharded_tables as (\n\n select\n table_database,\n table_schema,\n table_name,\n coalesce(table_type, 'external') as table_type,\n is_date_shard,\n\n struct(\n min(shard_name) as shard_min,\n max(shard_name) as shard_max,\n count(*) as shard_count\n ) as table_shards,\n\n sum(size_bytes) as size_bytes,\n sum(row_count) as row_count,\n\n max(relation_id) as relation_id\n\n from extracted\n group by 1,2,3,4,5\n\n ),\n\n info_schema_columns as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n table_catalog as table_database,\n table_schema,\n table_name,\n\n -- use the \"real\" column name from the paths query below\n column_name as base_column_name,\n ordinal_position as column_index,\n\n is_partitioning_column,\n clustering_ordinal_position\n\n from {{ information_schema.replace(information_schema_view='COLUMNS') }}\n where ordinal_position is not null\n\n ),\n\n info_schema_column_paths as (\n\n select\n concat(table_catalog, '.', table_schema, '.', table_name) as relation_id,\n field_path as column_name,\n data_type as column_type,\n column_name as base_column_name,\n description as column_comment\n\n from {{ information_schema.replace(information_schema_view='COLUMN_FIELD_PATHS') }}\n\n ),\n\n columns as (\n\n select * except (base_column_name)\n from info_schema_columns\n join info_schema_column_paths using (relation_id, base_column_name)\n\n ),\n\n column_stats as (\n\n select\n table_database,\n table_schema,\n table_name,\n max(relation_id) as relation_id,\n max(case when is_partitioning_column = 'YES' then 1 else 0 end) = 1 as is_partitioned,\n max(case when is_partitioning_column = 'YES' then column_name else null end) as partition_column,\n max(case when clustering_ordinal_position is not null then 1 else 0 end) = 1 as is_clustered,\n array_to_string(\n array_agg(\n case\n when clustering_ordinal_position is not null then column_name\n else null\n end ignore nulls\n order by clustering_ordinal_position\n ), ', '\n ) as clustering_columns\n\n from columns\n group by 1,2,3\n\n )\n\n select\n unsharded_tables.table_database,\n unsharded_tables.table_schema,\n case\n when is_date_shard then concat(unsharded_tables.table_name, '*')\n else unsharded_tables.table_name\n end as table_name,\n unsharded_tables.table_type,\n\n -- coalesce name and type for External tables - these columns are not\n -- present in the COLUMN_FIELD_PATHS resultset\n coalesce(columns.column_name, '') as column_name,\n -- invent a row number to account for nested fields -- BQ does\n -- not treat these nested properties as independent fields\n row_number() over (\n partition by relation_id\n order by columns.column_index, columns.column_name\n ) as column_index,\n coalesce(columns.column_type, '') as column_type,\n columns.column_comment,\n\n 'Shard count' as `stats__date_shards__label`,\n table_shards.shard_count as `stats__date_shards__value`,\n 'The number of date shards in this table' as `stats__date_shards__description`,\n is_date_shard as `stats__date_shards__include`,\n\n 'Shard (min)' as `stats__date_shard_min__label`,\n table_shards.shard_min as `stats__date_shard_min__value`,\n 'The first date shard in this table' as `stats__date_shard_min__description`,\n is_date_shard as `stats__date_shard_min__include`,\n\n 'Shard (max)' as `stats__date_shard_max__label`,\n table_shards.shard_max as `stats__date_shard_max__value`,\n 'The last date shard in this table' as `stats__date_shard_max__description`,\n is_date_shard as `stats__date_shard_max__include`,\n\n '# Rows' as `stats__num_rows__label`,\n row_count as `stats__num_rows__value`,\n 'Approximate count of rows in this table' as `stats__num_rows__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_rows__include`,\n\n 'Approximate Size' as `stats__num_bytes__label`,\n size_bytes as `stats__num_bytes__value`,\n 'Approximate size of table as reported by BigQuery' as `stats__num_bytes__description`,\n (unsharded_tables.table_type = 'table') as `stats__num_bytes__include`,\n\n 'Partitioned By' as `stats__partitioning_type__label`,\n partition_column as `stats__partitioning_type__value`,\n 'The partitioning column for this table' as `stats__partitioning_type__description`,\n is_partitioned as `stats__partitioning_type__include`,\n\n 'Clustered By' as `stats__clustering_fields__label`,\n clustering_columns as `stats__clustering_fields__value`,\n 'The clustering columns for this table' as `stats__clustering_fields__description`,\n is_clustered as `stats__clustering_fields__include`\n\n -- join using relation_id (an actual relation, not a shard prefix) to make\n -- sure that column metadata is picked up through the join. This will only\n -- return the column information for the \"max\" table in a date-sharded table set\n from unsharded_tables\n left join columns using (relation_id)\n left join column_stats using (relation_id)\n {%- endset -%}\n\n {%- endif -%}\n\n {{ return(run_query(query)) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.522826}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "partition_by", "macro_sql": "{% macro partition_by(partition_config) -%}\n {%- if partition_config is none -%}\n {% do return('') %}\n {%- elif partition_config.data_type | lower in ('date','timestamp','datetime') -%}\n partition by {{ partition_config.render() }}\n {%- elif partition_config.data_type | lower in ('int64') -%}\n {%- set range = partition_config.range -%}\n partition by range_bucket(\n {{ partition_config.field }},\n generate_array({{ range.start}}, {{ range.end }}, {{ range.interval }})\n )\n {%- endif -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5279942}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "cluster_by", "macro_sql": "{% macro cluster_by(raw_cluster_by) %}\n {%- if raw_cluster_by is not none -%}\n cluster by {% if raw_cluster_by is string -%}\n {% set raw_cluster_by = [raw_cluster_by] %}\n {%- endif -%}\n {%- for cluster in raw_cluster_by -%}\n {{ cluster }}\n {%- if not loop.last -%}, {% endif -%}\n {%- endfor -%}\n\n {% endif %}\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5283608}, "macro.dbt_bigquery.bigquery_options": {"unique_id": "macro.dbt_bigquery.bigquery_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_options", "macro_sql": "{% macro bigquery_options(opts) %}\n {% set options -%}\n OPTIONS({% for opt_key, opt_val in opts.items() %}\n {{ opt_key }}={{ opt_val }}{{ \",\" if not loop.last }}\n {% endfor %})\n {%- endset %}\n {%- do return(options) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.528716}, "macro.dbt_bigquery.bigquery_table_options": {"unique_id": "macro.dbt_bigquery.bigquery_table_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_table_options", "macro_sql": "{% macro bigquery_table_options(config, node, temporary) %}\n {% set opts = adapter.get_table_options(config, node, temporary) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.528974}, "macro.dbt_bigquery.bigquery__create_table_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_table_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_table_as", "macro_sql": "{% macro bigquery__create_table_as(temporary, relation, 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": ["macro.dbt_bigquery.partition_by", "macro.dbt_bigquery.cluster_by", "macro.dbt_bigquery.bigquery_table_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.529676}, "macro.dbt_bigquery.bigquery_view_options": {"unique_id": "macro.dbt_bigquery.bigquery_view_options", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery_view_options", "macro_sql": "{% macro bigquery_view_options(config, node) %}\n {% set opts = adapter.get_view_options(config, node) %}\n {%- do return(bigquery_options(opts)) -%}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5299342}, "macro.dbt_bigquery.bigquery__create_view_as": {"unique_id": "macro.dbt_bigquery.bigquery__create_view_as", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_view_as", "macro_sql": "{% macro bigquery__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {{ bigquery_view_options(config, model) }}\n as {{ sql }};\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery_view_options"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530258}, "macro.dbt_bigquery.bigquery__create_schema": {"unique_id": "macro.dbt_bigquery.bigquery__create_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/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": [], "created_at": 1651263520.530389}, "macro.dbt_bigquery.bigquery__drop_schema": {"unique_id": "macro.dbt_bigquery.bigquery__drop_schema", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_schema", "macro_sql": "{% macro bigquery__drop_schema(relation) -%}\n {{ adapter.drop_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530515}, "macro.dbt_bigquery.bigquery__drop_relation": {"unique_id": "macro.dbt_bigquery.bigquery__drop_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__drop_relation", "macro_sql": "{% macro bigquery__drop_relation(relation) -%}\n {% call statement('drop_relation') -%}\n drop {{ relation.type }} if exists {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530711}, "macro.dbt_bigquery.bigquery__get_columns_in_relation": {"unique_id": "macro.dbt_bigquery.bigquery__get_columns_in_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__get_columns_in_relation", "macro_sql": "{% macro bigquery__get_columns_in_relation(relation) -%}\n {{ return(adapter.get_columns_in_relation(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530852}, "macro.dbt_bigquery.bigquery__list_relations_without_caching": {"unique_id": "macro.dbt_bigquery.bigquery__list_relations_without_caching", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_relations_without_caching", "macro_sql": "{% macro bigquery__list_relations_without_caching(schema_relation) -%}\n {{ return(adapter.list_relations_without_caching(schema_relation)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.530986}, "macro.dbt_bigquery.bigquery__current_timestamp": {"unique_id": "macro.dbt_bigquery.bigquery__current_timestamp", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/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": [], "created_at": 1651263520.5310552}, "macro.dbt_bigquery.bigquery__snapshot_string_as_time": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_string_as_time", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/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": [], "created_at": 1651263520.5312269}, "macro.dbt_bigquery.bigquery__list_schemas": {"unique_id": "macro.dbt_bigquery.bigquery__list_schemas", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__list_schemas", "macro_sql": "{% macro bigquery__list_schemas(database) -%}\n {{ return(adapter.list_schemas(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5314429}, "macro.dbt_bigquery.bigquery__check_schema_exists": {"unique_id": "macro.dbt_bigquery.bigquery__check_schema_exists", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__check_schema_exists", "macro_sql": "{% macro bigquery__check_schema_exists(information_schema, schema) %}\n {{ return(adapter.check_schema_exists(information_schema.database, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.531625}, "macro.dbt_bigquery.bigquery__persist_docs": {"unique_id": "macro.dbt_bigquery.bigquery__persist_docs", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__persist_docs", "macro_sql": "{% macro bigquery__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do alter_column_comment(relation, model.columns) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.531928}, "macro.dbt_bigquery.bigquery__alter_column_comment": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_comment", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_comment", "macro_sql": "{% macro bigquery__alter_column_comment(relation, column_dict) -%}\n {% do adapter.update_columns(relation, column_dict) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.532083}, "macro.dbt_bigquery.bigquery__rename_relation": {"unique_id": "macro.dbt_bigquery.bigquery__rename_relation", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__rename_relation", "macro_sql": "{% macro bigquery__rename_relation(from_relation, to_relation) -%}\n {% do adapter.rename_relation(from_relation, to_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5322309}, "macro.dbt_bigquery.bigquery__alter_relation_add_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_add_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_add_columns", "macro_sql": "{% macro bigquery__alter_relation_add_columns(relation, add_columns) %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.532619}, "macro.dbt_bigquery.bigquery__alter_relation_drop_columns": {"unique_id": "macro.dbt_bigquery.bigquery__alter_relation_drop_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_relation_drop_columns", "macro_sql": "{% macro bigquery__alter_relation_drop_columns(relation, drop_columns) %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in drop_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {{ return(run_query(sql)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.532984}, "macro.dbt_bigquery.bigquery__alter_column_type": {"unique_id": "macro.dbt_bigquery.bigquery__alter_column_type", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__alter_column_type", "macro_sql": "{% macro bigquery__alter_column_type(relation, column_name, new_column_type) -%}\n {#-- Changing a column's data type using a query requires you to scan the entire table.\n The query charges can be significant if the table is very large.\n\n https://cloud.google.com/bigquery/docs/manually-changing-schemas#changing_a_columns_data_type\n #}\n {% set relation_columns = get_columns_in_relation(relation) %}\n\n {% set sql %}\n select\n {%- for col in relation_columns -%}\n {% if col.column == column_name %}\n CAST({{ col.quoted }} AS {{ new_column_type }}) AS {{ col.quoted }}\n {%- else %}\n {{ col.quoted }}\n {%- endif %}\n {%- if not loop.last %},{% endif -%}\n {%- endfor %}\n from {{ relation }}\n {% endset %}\n\n {% call statement('alter_column_type') %}\n {{ create_table_as(False, relation, sql)}}\n {%- endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_columns_in_relation", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.533634}, "macro.dbt_bigquery.bigquery__test_unique": {"unique_id": "macro.dbt_bigquery.bigquery__test_unique", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__test_unique", "macro_sql": "{% macro bigquery__test_unique(model, column_name) %}\n\nwith dbt_test__target as (\n\n select {{ column_name }} as unique_field\n from {{ model }}\n where {{ column_name }} is not null\n\n)\n\nselect\n unique_field,\n count(*) as n_records\n\nfrom dbt_test__target\ngroup by unique_field\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.533797}, "macro.dbt_bigquery.bigquery__upload_file": {"unique_id": "macro.dbt_bigquery.bigquery__upload_file", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__upload_file", "macro_sql": "{% macro bigquery__upload_file(local_file_path, database, table_schema, table_name) %}\n\n {{ log(\"kwargs: \" ~ kwargs) }}\n\n {% do adapter.upload_file(local_file_path, database, table_schema, table_name, kwargs=kwargs) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.534071}, "macro.dbt_bigquery.bigquery__create_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__create_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__create_csv_table", "macro_sql": "{% macro bigquery__create_csv_table(model, agate_table) %}\n -- no-op\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.534461}, "macro.dbt_bigquery.bigquery__reset_csv_table": {"unique_id": "macro.dbt_bigquery.bigquery__reset_csv_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__reset_csv_table", "macro_sql": "{% macro bigquery__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.534615}, "macro.dbt_bigquery.bigquery__load_csv_rows": {"unique_id": "macro.dbt_bigquery.bigquery__load_csv_rows", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/seed.sql", "original_file_path": "macros/materializations/seed.sql", "name": "bigquery__load_csv_rows", "macro_sql": "{% macro bigquery__load_csv_rows(model, agate_table) %}\n\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {{ adapter.load_dataframe(model['database'], model['schema'], model['alias'],\n \t\t\t\t\t\t\tagate_table, column_override) }}\n {% if config.persist_relation_docs() and 'description' in model %}\n\n \t{{ adapter.update_table_description(model['database'], model['schema'], model['alias'], model['description']) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.535213}, "macro.dbt_bigquery.bigquery__handle_existing_table": {"unique_id": "macro.dbt_bigquery.bigquery__handle_existing_table", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "bigquery__handle_existing_table", "macro_sql": "{% macro bigquery__handle_existing_table(full_refresh, old_relation) %}\n {%- if full_refresh -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- else -%}\n {{ exceptions.relation_wrong_type(old_relation, 'view') }}\n {%- endif -%}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.535771}, "macro.dbt_bigquery.materialization_view_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_view_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/view.sql", "original_file_path": "macros/materializations/view.sql", "name": "materialization_view_bigquery", "macro_sql": "{% materialization view, adapter='bigquery' -%}\n {% set to_return = create_or_replace_view() %}\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": ["macro.dbt.create_or_replace_view", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.536351}, "macro.dbt_bigquery.materialization_table_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_table_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "materialization_table_bigquery", "macro_sql": "{% materialization table, adapter='bigquery' -%}\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\n {{ run_hooks(pre_hooks) }}\n\n {#\n We only need to drop this thing if it is not a table.\n If it _is_ already a table, then we can overwrite it without downtime\n Unlike table -> view, no need for `--full-refresh`: dropping a view is no big deal\n #}\n {%- if exists_not_as_table -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- endif -%}\n\n -- build model\n {%- set raw_partition_by = config.get('partition_by', none) -%}\n {%- set partition_by = adapter.parse_partition_by(raw_partition_by) -%}\n {%- set cluster_by = config.get('cluster_by', none) -%}\n {% if not adapter.is_replaceable(old_relation, partition_by, cluster_by) %}\n {% do log(\"Hard refreshing \" ~ old_relation ~ \" because it is not replaceable\") %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n {% call statement('main') -%}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall -%}\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": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.538093}, "macro.dbt_bigquery.materialization_copy_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_copy_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/copy.sql", "original_file_path": "macros/materializations/copy.sql", "name": "materialization_copy_bigquery", "macro_sql": "{% materialization copy, adapter='bigquery' -%}\n\n {# Setup #}\n {{ run_hooks(pre_hooks) }}\n\n {% set destination = this.incorporate(type='table') %}\n\n {# there can be several ref() or source() according to BQ copy API docs #}\n {# cycle over ref() and source() to create source tables array #}\n {% set source_array = [] %}\n {% for ref_table in model.refs %}\n {{ source_array.append(ref(*ref_table)) }}\n {% endfor %}\n\n {% for src_table in model.sources %}\n {{ source_array.append(source(*src_table)) }}\n {% endfor %}\n\n {# Call adapter's copy_table function #}\n {%- set result_str = adapter.copy_table(\n source_array,\n destination,\n config.get('copy_materialization', default = 'table')) -%}\n\n {{ store_result('main', response=result_str) }}\n\n {# Clean up #}\n {{ run_hooks(post_hooks) }}\n {{ adapter.commit() }}\n\n {{ return({'relations': [destination]}) }}\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.539249}, "macro.dbt_bigquery.declare_dbt_max_partition": {"unique_id": "macro.dbt_bigquery.declare_dbt_max_partition", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "declare_dbt_max_partition", "macro_sql": "{% macro declare_dbt_max_partition(relation, partition_by, sql) %}\n\n {% if '_dbt_max_partition' in sql %}\n\n declare _dbt_max_partition {{ partition_by.data_type }} default (\n select max({{ partition_by.field }}) from {{ this }}\n where {{ partition_by.field }} is not null\n );\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.541038}, "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy": {"unique_id": "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "dbt_bigquery_validate_get_incremental_strategy", "macro_sql": "{% macro dbt_bigquery_validate_get_incremental_strategy(config) %}\n {#-- Find and validate the incremental strategy #}\n {%- set strategy = config.get(\"incremental_strategy\", 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": [], "created_at": 1651263520.54147}, "macro.dbt_bigquery.bq_insert_overwrite": {"unique_id": "macro.dbt_bigquery.bq_insert_overwrite", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_insert_overwrite", "macro_sql": "{% macro bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n\n {% if partitions is not none and partitions != [] %} {# static #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in (\n {{ partitions | join (', ') }}\n )\n {%- endset %}\n\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\n\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate], include_sql_header=true) }}\n\n {% else %} {# dynamic #}\n\n {% set predicate -%}\n {{ partition_by.render(alias='DBT_INTERNAL_DEST') }} in unnest(dbt_partitions_for_replacement)\n {%- endset %}\n\n {%- set source_sql -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- endset -%}\n\n -- generated script to merge partitions into {{ target_relation }}\n declare dbt_partitions_for_replacement array<{{ partition_by.data_type }}>;\n\n {# have we already created the temp table to check for schema changes? #}\n {% if not tmp_relation_exists %}\n {{ declare_dbt_max_partition(this, partition_by, sql) }}\n\n -- 1. create a temp table\n {{ create_table_as(True, tmp_relation, sql) }}\n {% else %}\n -- 1. temp table already exists, we used it to check for schema changes\n {% endif %}\n\n -- 2. define partitions to update\n set (dbt_partitions_for_replacement) = (\n select as struct\n array_agg(distinct {{ partition_by.render() }})\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": ["macro.dbt.get_insert_overwrite_merge_sql", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5427682}, "macro.dbt_bigquery.bq_generate_incremental_build_sql": {"unique_id": "macro.dbt_bigquery.bq_generate_incremental_build_sql", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "bq_generate_incremental_build_sql", "macro_sql": "{% macro bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n) %}\n {#-- if partitioned, use BQ scripting to get the range of partition values to be updated --#}\n {% if strategy == 'insert_overwrite' %}\n\n {% set missing_partition_msg -%}\n The 'insert_overwrite' strategy requires the `partition_by` config.\n {%- endset %}\n {% if partition_by is none %}\n {% do exceptions.raise_compiler_error(missing_partition_msg) %}\n {% endif %}\n\n {% set build_sql = bq_insert_overwrite(\n tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, on_schema_change\n ) %}\n\n {% else %} {# strategy == 'merge' #}\n {%- set source_sql -%}\n {%- if tmp_relation_exists -%}\n (\n select * from {{ tmp_relation }}\n )\n {%- else -%} {#-- wrap sql in parens to make it a subquery --#}\n (\n {{sql}}\n )\n {%- endif -%}\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {{ return(build_sql) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bq_insert_overwrite", "macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5436}, "macro.dbt_bigquery.materialization_incremental_bigquery": {"unique_id": "macro.dbt_bigquery.materialization_incremental_bigquery", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/incremental.sql", "original_file_path": "macros/materializations/incremental.sql", "name": "materialization_incremental_bigquery", "macro_sql": "{% materialization incremental, adapter='bigquery' -%}\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 {% set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') %}\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\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\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\n {% else %}\n {% set tmp_relation_exists = false %}\n {% if on_schema_change != 'ignore' %} {# Check first, since otherwise we may not build a temp table #}\n {% do run_query(\n declare_dbt_max_partition(this, partition_by, sql) + create_table_as(True, tmp_relation, sql)\n ) %}\n {% set tmp_relation_exists = true %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, tmp_relation, existing_relation) %}\n {% endif %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n {% set build_sql = bq_generate_incremental_build_sql(\n strategy, tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns, tmp_relation_exists\n ) %}\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": ["macro.dbt.should_full_refresh", "macro.dbt.load_relation", "macro.dbt.make_temp_relation", "macro.dbt_bigquery.dbt_bigquery_validate_get_incremental_strategy", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.run_hooks", "macro.dbt.create_table_as", "macro.dbt.run_query", "macro.dbt_bigquery.declare_dbt_max_partition", "macro.dbt.process_schema_changes", "macro.dbt_bigquery.bq_generate_incremental_build_sql", "macro.dbt.statement", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.546081}, "macro.dbt_bigquery.bigquery__snapshot_hash_arguments": {"unique_id": "macro.dbt_bigquery.bigquery__snapshot_hash_arguments", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__snapshot_hash_arguments", "macro_sql": "{% macro bigquery__snapshot_hash_arguments(args) -%}\n to_hex(md5(concat({%- for arg in args -%}\n coalesce(cast({{ arg }} as string), ''){% if not loop.last %}, '|',{% endif -%}\n {%- endfor -%}\n )))\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5465338}, "macro.dbt_bigquery.bigquery__create_columns": {"unique_id": "macro.dbt_bigquery.bigquery__create_columns", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__create_columns", "macro_sql": "{% macro bigquery__create_columns(relation, columns) %}\n {{ adapter.alter_table_add_columns(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.546686}, "macro.dbt_bigquery.bigquery__post_snapshot": {"unique_id": "macro.dbt_bigquery.bigquery__post_snapshot", "package_name": "dbt_bigquery", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/bigquery", "path": "macros/materializations/snapshot.sql", "original_file_path": "macros/materializations/snapshot.sql", "name": "bigquery__post_snapshot", "macro_sql": "{% macro bigquery__post_snapshot(staging_relation) %}\n -- Clean up the snapshot temp table\n {% do drop_relation(staging_relation) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5468118}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548034}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548265}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548414}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548556}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "name": "after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.548692}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.549207}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.549505}, "macro.dbt.should_store_failures": {"unique_id": "macro.dbt.should_store_failures", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "name": "should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5498009}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5502841}, "macro.dbt.default__snapshot_merge_sql": {"unique_id": "macro.dbt.default__snapshot_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "name": "default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.550556}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554113}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554281}, "macro.dbt.default__snapshot_hash_arguments": {"unique_id": "macro.dbt.default__snapshot_hash_arguments", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554496}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_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.default__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.554636}, "macro.dbt.default__snapshot_get_time": {"unique_id": "macro.dbt.default__snapshot_get_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_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": 1651263520.5547268}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.555425}, "macro.dbt.snapshot_string_as_time": {"unique_id": "macro.dbt.snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.555583}, "macro.dbt.default__snapshot_string_as_time": {"unique_id": "macro.dbt.default__snapshot_string_as_time", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.555747}, "macro.dbt.snapshot_check_all_get_existing_columns": {"unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists) -%}\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": 1651263520.556706}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "name": "snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% 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 {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.558305}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562009}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562305}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562477}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5625632}, "macro.dbt.get_true_sql": {"unique_id": "macro.dbt.get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562706}, "macro.dbt.default__get_true_sql": {"unique_id": "macro.dbt.default__get_true_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.562816}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.563013}, "macro.dbt.default__snapshot_staging_table": {"unique_id": "macro.dbt.default__snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.563885}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.564069}, "macro.dbt.default__build_snapshot_table": {"unique_id": "macro.dbt.default__build_snapshot_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.564317}, "macro.dbt.build_snapshot_staging_table": {"unique_id": "macro.dbt.build_snapshot_staging_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "name": "build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set 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": 1651263520.564739}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "name": "materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n\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.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": 1651263520.5700438}, "macro.dbt.materialization_test_default": {"unique_id": "macro.dbt.materialization_test_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "name": "materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type='table') -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.572085}, "macro.dbt.get_test_sql": {"unique_id": "macro.dbt.get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "name": "get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.572578}, "macro.dbt.default__get_test_sql": {"unique_id": "macro.dbt.default__get_test_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "name": "default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.572875}, "macro.dbt.get_where_subquery": {"unique_id": "macro.dbt.get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "name": "get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.573288}, "macro.dbt.default__get_where_subquery": {"unique_id": "macro.dbt.default__get_where_subquery", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "name": "default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.573673}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.574497}, "macro.dbt.diff_columns": {"unique_id": "macro.dbt.diff_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.575027}, "macro.dbt.diff_column_data_types": {"unique_id": "macro.dbt.diff_column_data_types", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "name": "diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type %}\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": 1651263520.5756218}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, predicates=none) -%}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, predicates) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.580383}, "macro.dbt.default__get_merge_sql": {"unique_id": "macro.dbt.default__get_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, predicates) -%}\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set 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 {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{ predicates | join(' and ') }}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5818508}, "macro.dbt.get_delete_insert_merge_sql": {"unique_id": "macro.dbt.get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.582148}, "macro.dbt.default__get_delete_insert_merge_sql": {"unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last }}\n {% endfor %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n );\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.582891}, "macro.dbt.get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.583151}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "name": "default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {%- 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": 1651263520.583782}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "name": "is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.584461}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "name": "materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n {% 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": 1651263520.5890949}, "macro.dbt.incremental_validate_on_schema_change": {"unique_id": "macro.dbt.incremental_validate_on_schema_change", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.5934021}, "macro.dbt.check_for_schema_changes": {"unique_id": "macro.dbt.check_for_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.594595}, "macro.dbt.sync_column_schemas": {"unique_id": "macro.dbt.sync_column_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.595752}, "macro.dbt.process_schema_changes": {"unique_id": "macro.dbt.process_schema_changes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "name": "process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n {% 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": 1651263520.5964532}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/table.sql", "original_file_path": "macros/materializations/models/table/table.sql", "name": "materialization_table_default", "macro_sql": "{% materialization table, default %}\n {%- 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": 1651263520.600076}, "macro.dbt.get_create_table_as_sql": {"unique_id": "macro.dbt.get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.600551}, "macro.dbt.default__get_create_table_as_sql": {"unique_id": "macro.dbt.default__get_create_table_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.600734}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, sql) -%}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.600929}, "macro.dbt.default__create_table_as": {"unique_id": "macro.dbt.default__create_table_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "name": "default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6013389}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/view.sql", "original_file_path": "macros/materializations/models/view/view.sql", "name": "materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set 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": 1651263520.6047978}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.605145}, "macro.dbt.default__handle_existing_table": {"unique_id": "macro.dbt.default__handle_existing_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "name": "default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.60536}, "macro.dbt.create_or_replace_view": {"unique_id": "macro.dbt.create_or_replace_view", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/models/view/create_or_replace_view.sql", "name": "create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\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": 1651263520.6065578}, "macro.dbt.get_create_view_as_sql": {"unique_id": "macro.dbt.get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.606966}, "macro.dbt.default__get_create_view_as_sql": {"unique_id": "macro.dbt.default__get_create_view_as_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6071239}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.607296}, "macro.dbt.default__create_view_as": {"unique_id": "macro.dbt.default__create_view_as", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "name": "default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }} as (\n {{ sql }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.60755}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "name": "materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set 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": 1651263520.61041}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6143}, "macro.dbt.default__create_csv_table": {"unique_id": "macro.dbt.default__create_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.615197}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6154292}, "macro.dbt.default__reset_csv_table": {"unique_id": "macro.dbt.default__reset_csv_table", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.615896}, "macro.dbt.get_binding_char": {"unique_id": "macro.dbt.get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6160362}, "macro.dbt.default__get_binding_char": {"unique_id": "macro.dbt.default__get_binding_char", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.616145}, "macro.dbt.get_batch_size": {"unique_id": "macro.dbt.get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.616297}, "macro.dbt.default__get_batch_size": {"unique_id": "macro.dbt.default__get_batch_size", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.616419}, "macro.dbt.get_seed_column_quoted_csv": {"unique_id": "macro.dbt.get_seed_column_quoted_csv", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6168802}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.617121}, "macro.dbt.default__load_csv_rows": {"unique_id": "macro.dbt.default__load_csv_rows", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "name": "default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6183}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "name": "generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.618748}, "macro.dbt.default__generate_alias_name": {"unique_id": "macro.dbt.default__generate_alias_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "name": "default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name is none -%}\n\n {{ node.name }}\n\n {%- else -%}\n\n {{ custom_alias_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6189692}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6195168}, "macro.dbt.default__generate_schema_name": {"unique_id": "macro.dbt.default__generate_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.619779}, "macro.dbt.generate_schema_name_for_env": {"unique_id": "macro.dbt.generate_schema_name_for_env", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "name": "generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.620054}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "name": "generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.620488}, "macro.dbt.default__generate_database_name": {"unique_id": "macro.dbt.default__generate_database_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "name": "default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.620733}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "name": "default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.621134}, "macro.dbt.default__test_not_null": {"unique_id": "macro.dbt.default__test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "name": "default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6214788}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "name": "default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.621773}, "macro.dbt.default__test_accepted_values": {"unique_id": "macro.dbt.default__test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "name": "default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.622366}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "statement", "macro_sql": "{% 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": 1651263520.623468}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.624031}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "name": "run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.624318}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.626059}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partiton start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.627292}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628024}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "name": "py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628255}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628696}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.628872}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629031}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "name": "default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629206}, "macro.dbt.get_create_index_sql": {"unique_id": "macro.dbt.get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629704}, "macro.dbt.default__get_create_index_sql": {"unique_id": "macro.dbt.default__get_create_index_sql", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629836}, "macro.dbt.create_indexes": {"unique_id": "macro.dbt.create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.629993}, "macro.dbt.default__create_indexes": {"unique_id": "macro.dbt.default__create_indexes", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "name": "default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.630377}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.631969}, "macro.dbt.default__make_temp_relation": {"unique_id": "macro.dbt.default__make_temp_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {% set 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": 1651263520.632262}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.632441}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6326551}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.632834}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.632988}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6331992}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6334841}, "macro.dbt.get_or_create_relation": {"unique_id": "macro.dbt.get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.633732}, "macro.dbt.default__get_or_create_relation": {"unique_id": "macro.dbt.default__get_or_create_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.634343}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {% 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": 1651263520.6345658}, "macro.dbt.drop_relation_if_exists": {"unique_id": "macro.dbt.drop_relation_if_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "name": "drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6347551}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/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_utils.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.635259}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "default__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": 1651263520.6353998}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.635625}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "name": "default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness').table) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.636029}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.636703}, "macro.dbt.default__alter_column_comment": {"unique_id": "macro.dbt.default__alter_column_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6368692}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.63708}, "macro.dbt.default__alter_relation_comment": {"unique_id": "macro.dbt.default__alter_relation_comment", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6372402}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.637501}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "name": "default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.637974}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.639353}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.639609}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.63979}, "macro.dbt.default__information_schema_name": {"unique_id": "macro.dbt.default__information_schema_name", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.639945}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.64012}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.640356}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.640565}, "macro.dbt.default__check_schema_exists": {"unique_id": "macro.dbt.default__check_schema_exists", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.640926}, "macro.dbt.list_relations_without_caching": {"unique_id": "macro.dbt.list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.641114}, "macro.dbt.default__list_relations_without_caching": {"unique_id": "macro.dbt.default__list_relations_without_caching", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "name": "default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.641279}, "macro.dbt.get_columns_in_relation": {"unique_id": "macro.dbt.get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.642879}, "macro.dbt.default__get_columns_in_relation": {"unique_id": "macro.dbt.default__get_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.643032}, "macro.dbt.sql_convert_columns_in_relation": {"unique_id": "macro.dbt.sql_convert_columns_in_relation", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.643341}, "macro.dbt.get_columns_in_query": {"unique_id": "macro.dbt.get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6435242}, "macro.dbt.default__get_columns_in_query": {"unique_id": "macro.dbt.default__get_columns_in_query", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n {% endcall %}\n\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.643869}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.644098}, "macro.dbt.default__alter_column_type": {"unique_id": "macro.dbt.default__alter_column_type", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6446779}, "macro.dbt.alter_relation_add_remove_columns": {"unique_id": "macro.dbt.alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6449301}, "macro.dbt.default__alter_relation_add_remove_columns": {"unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "name": "default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.645698}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.646251}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.646474}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.646763}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "name": "test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6470342}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__except"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.647342}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.647414}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6474812}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6478531}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.64801}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6483068}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.648499}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.649181}, "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/jira/dbt_jira_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": 1651263520.649258}, "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/jira/dbt_jira_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": 1651263520.649327}, "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/jira/dbt_jira_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": 1651263520.649398}, "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/jira/dbt_jira_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": 1651263520.6494982}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.649664}, "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/jira/dbt_jira_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": 1651263520.649735}, "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/jira/dbt_jira_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": 1651263520.6498072}, "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/jira/dbt_jira_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": 1651263520.6498718}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_float"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.650029}, "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/jira/dbt_jira_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": 1651263520.650097}, "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/jira/dbt_jira_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": 1651263520.650165}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.650319}, "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/jira/dbt_jira_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": 1651263520.6503859}, "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/jira/dbt_jira_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": 1651263520.650454}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.650608}, "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/jira/dbt_jira_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": 1651263520.650676}, "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/jira/dbt_jira_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": 1651263520.650741}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6509619}, "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/jira/dbt_jira_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": 1651263520.6510332}, "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/jira/dbt_jira_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": 1651263520.651105}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.651639}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.651988}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.652092}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6521878}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.652781}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6529431}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653097}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653253}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653443}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__intersect"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.653743}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6538181}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.653885}, "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/jira/dbt_jira_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.bigquery__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6542609}, "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/jira/dbt_jira_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": 1651263520.6543958}, "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/jira/dbt_jira_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": 1651263520.654528}, "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/jira/dbt_jira_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": 1651263520.654658}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__right"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.655218}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.65535}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6555}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.65584}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__listagg"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.658001}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6584032}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.658672}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6590452}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.659961}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__datediff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6624079}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.662569}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.662723}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.689932}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.690176}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.690707}, "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/jira/dbt_jira_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": 1651263520.69085}, "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/jira/dbt_jira_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": 1651263520.6909719}, "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/jira/dbt_jira_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": 1651263520.691093}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__hash"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.691458}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.691594}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6917188}, "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/jira/dbt_jira_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": 1651263520.6920772}, "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/jira/dbt_jira_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": 1651263520.6922119}, "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/jira/dbt_jira_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": 1651263520.692333}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__identifier"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.692843}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.692946}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6930418}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__any_value"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6933792}, "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/jira/dbt_jira_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": 1651263520.69348}, "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/jira/dbt_jira_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": 1651263520.693584}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__position"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6939871}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.694119}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.694247}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.694608}, "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/jira/dbt_jira_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": 1651263520.69471}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.6952739}, "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/jira/dbt_jira_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": 1651263520.695383}, "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/jira/dbt_jira_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": 1651263520.6954508}, "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/jira/dbt_jira_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": 1651263520.695521}, "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/jira/dbt_jira_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.default__current_timestamp_in_utc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.695673}, "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/jira/dbt_jira_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": 1651263520.6957781}, "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/jira/dbt_jira_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": 1651263520.695918}, "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/jira/dbt_jira_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": 1651263520.6960251}, "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/jira/dbt_jira_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": 1651263520.696154}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.6975338}, "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/jira/dbt_jira_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": 1651263520.697988}, "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/jira/dbt_jira_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": 1651263520.698438}, "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/jira/dbt_jira_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": 1651263520.698623}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.698994}, "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/jira/dbt_jira_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": 1651263520.699096}, "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/jira/dbt_jira_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": 1651263520.699193}, "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/jira/dbt_jira_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": 1651263520.699292}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.default__last_day"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.699931}, "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/jira/dbt_jira_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": 1651263520.700277}, "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/jira/dbt_jira_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": 1651263520.700429}, "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/jira/dbt_jira_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": 1651263520.700821}, "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/jira/dbt_jira_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": 1651263520.701002}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__split_part"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7015302}, "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/jira/dbt_jira_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": 1651263520.701695}, "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/jira/dbt_jira_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 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": [], "created_at": 1651263520.701865}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.702257}, "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/jira/dbt_jira_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": 1651263520.702386}, "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/jira/dbt_jira_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": 1651263520.702515}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7033741}, "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/jira/dbt_jira_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": 1651263520.7088661}, "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/jira/dbt_jira_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": 1651263520.709374}, "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/jira/dbt_jira_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": 1651263520.709687}, "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/jira/dbt_jira_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": 1651263520.710172}, "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/jira/dbt_jira_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": 1651263520.7152221}, "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/jira/dbt_jira_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": 1651263520.715671}, "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/jira/dbt_jira_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": 1651263520.716146}, "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/jira/dbt_jira_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": 1651263520.716668}, "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/jira/dbt_jira_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": 1651263520.717312}, "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/jira/dbt_jira_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": 1651263520.7176719}, "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/jira/dbt_jira_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": 1651263520.717983}, "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/jira/dbt_jira_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": 1651263520.7185469}, "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/jira/dbt_jira_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": 1651263520.718771}, "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/jira/dbt_jira_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": 1651263520.7192042}, "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/jira/dbt_jira_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": 1651263520.7194948}, "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/jira/dbt_jira_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": 1651263520.720169}, "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/jira/dbt_jira_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": 1651263520.720504}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7209458}, "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/jira/dbt_jira_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": 1651263520.721306}, "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/jira/dbt_jira_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": 1651263520.721705}, "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/jira/dbt_jira_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": 1651263520.721875}, "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/jira/dbt_jira_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": 1651263520.7225149}, "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/jira/dbt_jira_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": 1651263520.723048}, "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/jira/dbt_jira_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": 1651263520.7236311}, "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/jira/dbt_jira_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": 1651263520.7240121}, "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/jira/dbt_jira_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": 1651263520.7244658}, "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/jira/dbt_jira_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": 1651263520.724632}, "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/jira/dbt_jira_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": 1651263520.7250051}, "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/jira/dbt_jira_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": 1651263520.725178}, "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/jira/dbt_jira_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": 1651263520.725805}, "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/jira/dbt_jira_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": 1651263520.726437}, "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/jira/dbt_jira_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": 1651263520.7270348}, "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/jira/dbt_jira_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": 1651263520.727367}, "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/jira/dbt_jira_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": 1651263520.727871}, "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/jira/dbt_jira_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": 1651263520.728159}, "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/jira/dbt_jira_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": 1651263520.728628}, "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/jira/dbt_jira_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": 1651263520.72915}, "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/jira/dbt_jira_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": 1651263520.729852}, "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/jira/dbt_jira_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": 1651263520.730531}, "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/jira/dbt_jira_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": 1651263520.7309902}, "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/jira/dbt_jira_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": 1651263520.731154}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.731959}, "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/jira/dbt_jira_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": 1651263520.7328398}, "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/jira/dbt_jira_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": 1651263520.73581}, "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/jira/dbt_jira_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": 1651263520.737254}, "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/jira/dbt_jira_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": 1651263520.73759}, "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/jira/dbt_jira_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": 1651263520.73775}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.738076}, "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/jira/dbt_jira_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": 1651263520.73827}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.738579}, "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/jira/dbt_jira_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": 1651263520.738745}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.739254}, "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/jira/dbt_jira_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": 1651263520.739952}, "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/jira/dbt_jira_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": 1651263520.740532}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.740761}, "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/jira/dbt_jira_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": 1651263520.7411158}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.741497}, "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/jira/dbt_jira_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": 1651263520.741907}, "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/jira/dbt_jira_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": 1651263520.742595}, "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/jira/dbt_jira_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": 1651263520.743433}, "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/jira/dbt_jira_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": 1651263520.744249}, "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/jira/dbt_jira_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": 1651263520.744652}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.744836}, "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/jira/dbt_jira_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": 1651263520.745342}, "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/jira/dbt_jira_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": 1651263520.746026}, "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/jira/dbt_jira_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": 1651263520.74688}, "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/jira/dbt_jira_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": 1651263520.747328}, "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/jira/dbt_jira_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": 1651263520.747612}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.748401}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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 {%- for col in dbt_utils.get_filtered_columns_in_relation(from, except) %}\n\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\n {%- endfor -%}\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": 1651263520.749313}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.751173}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.753288}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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') -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name)) }}\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": 1651263520.755532}, "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/jira/dbt_jira_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') -%}\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 {% 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\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": ["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": 1651263520.758402}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.75891}, "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/jira/dbt_jira_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": 1651263520.759176}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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, group_by, order_by=none, relation_alias=none) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, group_by, order_by=order_by, relation_alias=relation_alias)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.bigquery__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.759924}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n _inner.*,\n row_number() over (\n partition by {{ group_by }}\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n ) as rn\n from {{ relation if relation_alias is none else relation_alias }} as _inner\n ) as deduped\n where deduped.rn = 1\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.760334}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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, group_by, order_by=none, relation_alias=none) -%}\n\n select\n {{ dbt_utils.star(relation, relation_alias='deduped') | indent }}\n from (\n select\n array_agg (\n original\n {% if order_by is not none -%}\n order by {{ order_by }}\n {%- endif %}\n limit 1\n )[offset(0)] as deduped\n from {{ relation if relation_alias is none else relation_alias }} as original\n group by {{ group_by }}\n )\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.star"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7607281}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.761369}, "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/jira/dbt_jira_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": 1651263520.762316}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7627552}, "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/jira/dbt_jira_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": 1651263520.763027}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.763423}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7637691}, "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/jira/dbt_jira_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.bigquery__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.765257}, "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/jira/dbt_jira_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": 1651263520.765525}, "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/jira/dbt_jira_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": 1651263520.766222}, "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/jira/dbt_jira_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": 1651263520.766795}, "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/jira/dbt_jira_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) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default)) }}\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": 1651263520.767775}, "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/jira/dbt_jira_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) -%}\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 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": 1651263520.769192}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.770268}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.771132}, "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/jira/dbt_jira_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": 1651263520.7716548}, "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/jira/dbt_jira_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": 1651263520.7723808}, "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/jira/dbt_jira_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": 1651263520.772817}, "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/jira/dbt_jira_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": 1651263520.773404}, "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/jira/dbt_jira_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.bigquery__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.773906}, "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/jira/dbt_jira_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": 1651263520.7739892}, "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/jira/dbt_jira_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": 1651263520.774071}, "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/jira/dbt_jira_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": 1651263520.7741492}, "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/jira/dbt_jira_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": 1651263520.77516}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7754319}, "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/jira/dbt_jira_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": 1651263520.776002}, "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/jira/dbt_jira_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": 1651263520.776862}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.777313}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__percentile"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.77823}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7783942}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778549}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778707}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778843}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.778998}, "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/jira/dbt_jira_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": 1651263520.779486}, "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/jira/dbt_jira_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": 1651263520.779928}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.780967}, "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/jira/dbt_jira_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": 1651263520.781208}, "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/jira/dbt_jira_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": 1651263520.781451}, "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/jira/dbt_jira_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": 1651263520.781687}, "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/jira/dbt_jira_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": 1651263520.781929}, "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/jira/dbt_jira_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": 1651263520.782196}, "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/jira/dbt_jira_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": 1651263520.782464}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.782858}, "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/jira/dbt_jira_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": 1651263520.782955}, "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/jira/dbt_jira_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": 1651263520.7830489}, "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/jira/dbt_jira_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": 1651263520.783411}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.783852}, "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/jira/dbt_jira_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": 1651263520.7844632}, "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/jira/dbt_jira_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": 1651263520.785123}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7856169}, "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/jira/dbt_jira_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": 1651263520.785744}, "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/jira/dbt_jira_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": 1651263520.785866}, "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/jira/dbt_jira_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": 1651263520.785989}, "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/jira/dbt_jira_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": 1651263520.786122}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.788835}, "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/jira/dbt_jira_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": 1651263520.789006}, "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/jira/dbt_jira_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": 1651263520.789166}, "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/jira/dbt_jira_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": 1651263520.7893162}, "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/jira/dbt_jira_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": 1651263520.791098}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.791994}, "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/jira/dbt_jira_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": 1651263520.792138}, "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/jira/dbt_jira_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": 1651263520.7924118}, "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/jira/dbt_jira_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": 1651263520.792692}, "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/jira/dbt_jira_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({{field}} as {{type}})\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.792819}, "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/jira/dbt_jira_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": 1651263520.792941}, "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/jira/dbt_jira_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": 1651263520.793061}, "macro.fivetran_utils.generate_docs": {"unique_id": "macro.fivetran_utils.generate_docs", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/fivetran_utils", "path": "macros/generate_docs.sql", "original_file_path": "macros/generate_docs.sql", "name": "generate_docs", "macro_sql": "{% macro generate_docs(package) %}\n\n{% set package = \"\"~ package ~\"\" %}\n\n{% set zsh_command = \"source dbt_packages/fivetran_utils/generate_docs.sh '../dbt_\"\"\"~ package ~\"\"\"\"+\"'\" %}\n\n{{ log (zsh_command, info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.793487}, "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/jira/dbt_jira_source/integration_tests/dbt_packages/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": ["macro.fivetran_utils.get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7949262}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.7954838}, "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/jira/dbt_jira_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": 1651263520.796053}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.796587}, "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/jira/dbt_jira_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": 1651263520.796787}, "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/jira/dbt_jira_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": 1651263520.797003}, "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/jira/dbt_jira_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": 1651263520.7973142}, "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/jira/dbt_jira_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": 1651263520.7982368}, "macro.fivetran_utils.staging_models_automation": {"unique_id": "macro.fivetran_utils.staging_models_automation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/fivetran_utils", "path": "macros/staging_models_automation.sql", "original_file_path": "macros/staging_models_automation.sql", "name": "staging_models_automation", "macro_sql": "{% macro staging_models_automation(package, source_schema, source_database, tables) %}\n\n{% set package = \"\"~ package ~\"\" %}\n{% set source_schema = \"\"~ source_schema ~\"\" %}\n{% set source_database = \"\"~ source_database ~\"\" %}\n\n{% set zsh_command_columns = \"source dbt_packages/fivetran_utils/generate_columns.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n{% set zsh_command_models = \"source dbt_packages/fivetran_utils/generate_models.sh '../dbt_\"\"\"~ package ~\"\"\"_source' stg_\"\"\"~ package ~\"\"\" \"\"\"~ source_database ~\"\"\" \"\"\"~ source_schema ~\"\"\" \" %}\n\n{%- set columns_array = [] -%}\n{%- set models_array = [] -%}\n\n{% for t in tables %}\n {% set help_command = zsh_command_columns + t %}\n {{ columns_array.append(help_command) }}\n\n {% set help_command = zsh_command_models + t %}\n {{ models_array.append(help_command) }}\n\n{% endfor %}\n\n{{ log(columns_array|join(' && \\n') + ' && \\n' + models_array|join(' && \\n'), info=True) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.7996411}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.803564}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.8039548}, "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/jira/dbt_jira_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": 1651263520.804451}, "macro.fivetran_utils.default__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.default__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "default__get_columns_for_macro", "macro_sql": "{% macro default__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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.805529}, "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/jira/dbt_jira_source/integration_tests/dbt_packages/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) like '%num%' 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": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.805983}, "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/jira/dbt_jira_source/integration_tests/dbt_packages/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": ["macro.fivetran_utils.bigquery__get_columns_for_macro"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.806199}, "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/jira/dbt_jira_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": 1651263520.807713}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.8082519}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8088598}, "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/jira/dbt_jira_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": 1651263520.8090181}, "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/jira/dbt_jira_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": 1651263520.80917}, "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/jira/dbt_jira_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": 1651263520.809333}, "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/jira/dbt_jira_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": 1651263520.8094761}, "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/jira/dbt_jira_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": 1651263520.809622}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.810336}, "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/jira/dbt_jira_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": 1651263520.811397}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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.bigquery__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.812171}, "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/jira/dbt_jira_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": 1651263520.8123362}, "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/jira/dbt_jira_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": 1651263520.812496}, "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/jira/dbt_jira_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": 1651263520.812665}, "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/jira/dbt_jira_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": 1651263520.812819}, "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/jira/dbt_jira_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": 1651263520.812992}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.81332}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.81342}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.813523}, "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/jira/dbt_jira_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": 1651263520.8142211}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.815407}, "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/jira/dbt_jira_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": 1651263520.817169}, "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/jira/dbt_jira_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": 1651263520.818579}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1651263520.8188941}, "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/jira/dbt_jira_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": 1651263520.8189929}, "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/jira/dbt_jira_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": 1651263520.819088}, "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/jira/dbt_jira_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": 1651263520.819526}, "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/jira/dbt_jira_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": 1651263520.819962}, "macro.jira_source.get_issue_link_columns": {"unique_id": "macro.jira_source.get_issue_link_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_link_columns.sql", "original_file_path": "macros/get_issue_link_columns.sql", "name": "get_issue_link_columns", "macro_sql": "{% macro get_issue_link_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"related_issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"relationship\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8205938}, "macro.jira_source.get_issue_columns": {"unique_id": "macro.jira_source.get_issue_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_columns.sql", "original_file_path": "macros/get_issue_columns.sql", "name": "get_issue_columns", "macro_sql": "{% macro get_issue_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"_original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"assignee\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creator\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"environment\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"issue_type\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n\n {\"name\": \"original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"priority\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reporter\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"resolution\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"resolved\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status_category_changed\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"updated\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"work_ratio\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_float", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.823694}, "macro.jira_source.get_status_columns": {"unique_id": "macro.jira_source.get_status_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_status_columns.sql", "original_file_path": "macros/get_status_columns.sql", "name": "get_status_columns", "macro_sql": "{% macro get_status_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.824424}, "macro.jira_source.get_status_category_columns": {"unique_id": "macro.jira_source.get_status_category_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_status_category_columns.sql", "original_file_path": "macros/get_status_category_columns.sql", "name": "get_status_category_columns", "macro_sql": "{% macro get_status_category_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8249521}, "macro.jira_source.get_issue_field_history_columns": {"unique_id": "macro.jira_source.get_issue_field_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_field_history_columns.sql", "original_file_path": "macros/get_issue_field_history_columns.sql", "name": "get_issue_field_history_columns", "macro_sql": "{% macro get_issue_field_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1651263520.826477}, "macro.jira_source.get_comment_columns": {"unique_id": "macro.jira_source.get_comment_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_comment_columns.sql", "original_file_path": "macros/get_comment_columns.sql", "name": "get_comment_columns", "macro_sql": "{% macro get_comment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"body\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"is_public\", \"datatype\": \"boolean\"},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"update_author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated\", \"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", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.827701}, "macro.jira_source.get_field_columns": {"unique_id": "macro.jira_source.get_field_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_field_columns.sql", "original_file_path": "macros/get_field_columns.sql", "name": "get_field_columns", "macro_sql": "{% macro get_field_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_array\", \"datatype\": \"boolean\"},\n {\"name\": \"is_custom\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.828439}, "macro.jira_source.get_version_columns": {"unique_id": "macro.jira_source.get_version_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_version_columns.sql", "original_file_path": "macros/get_version_columns.sql", "name": "get_version_columns", "macro_sql": "{% macro get_version_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"overdue\", \"datatype\": \"boolean\"},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"release_date\", \"datatype\": \"date\"},\n {\"name\": \"released\", \"datatype\": \"boolean\"},\n {\"name\": \"start_date\", \"datatype\": \"date\"}\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": 1651263520.829615}, "macro.jira_source.get_field_option_columns": {"unique_id": "macro.jira_source.get_field_option_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_field_option_columns.sql", "original_file_path": "macros/get_field_option_columns.sql", "name": "get_field_option_columns", "macro_sql": "{% macro get_field_option_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.830176}, "macro.jira_source.get_issue_multiselect_history_columns": {"unique_id": "macro.jira_source.get_issue_multiselect_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_multiselect_history_columns.sql", "original_file_path": "macros/get_issue_multiselect_history_columns.sql", "name": "get_issue_multiselect_history_columns", "macro_sql": "{% macro get_issue_multiselect_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\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1651263520.831564}, "macro.jira_source.get_epic_columns": {"unique_id": "macro.jira_source.get_epic_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_epic_columns.sql", "original_file_path": "macros/get_epic_columns.sql", "name": "get_epic_columns", "macro_sql": "{% macro get_epic_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"done\", \"datatype\": \"boolean\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.832372}, "macro.jira_source.get_issue_type_columns": {"unique_id": "macro.jira_source.get_issue_type_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_type_columns.sql", "original_file_path": "macros/get_issue_type_columns.sql", "name": "get_issue_type_columns", "macro_sql": "{% macro get_issue_type_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"subtask\", \"datatype\": \"boolean\"}\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": 1651263520.8330839}, "macro.jira_source.get_user_columns": {"unique_id": "macro.jira_source.get_user_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_user_columns.sql", "original_file_path": "macros/get_user_columns.sql", "name": "get_user_columns", "macro_sql": "{% macro get_user_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"email\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"locale\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"username\", \"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": 1651263520.8339899}, "macro.jira_source.get_project_columns": {"unique_id": "macro.jira_source.get_project_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_project_columns.sql", "original_file_path": "macros/get_project_columns.sql", "name": "get_project_columns", "macro_sql": "{% macro get_project_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"lead_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"permission_scheme_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8349938}, "macro.jira_source.get_resolution_columns": {"unique_id": "macro.jira_source.get_resolution_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_resolution_columns.sql", "original_file_path": "macros/get_resolution_columns.sql", "name": "get_resolution_columns", "macro_sql": "{% macro get_resolution_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8358011}, "macro.jira_source.get_component_columns": {"unique_id": "macro.jira_source.get_component_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_component_columns.sql", "original_file_path": "macros/get_component_columns.sql", "name": "get_component_columns", "macro_sql": "{% macro get_component_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.8366988}, "macro.jira_source.get_priority_columns": {"unique_id": "macro.jira_source.get_priority_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_priority_columns.sql", "original_file_path": "macros/get_priority_columns.sql", "name": "get_priority_columns", "macro_sql": "{% macro get_priority_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.837408}, "macro.jira_source.get_sprint_columns": {"unique_id": "macro.jira_source.get_sprint_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_sprint_columns.sql", "original_file_path": "macros/get_sprint_columns.sql", "name": "get_sprint_columns", "macro_sql": "{% macro get_sprint_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"board_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"complete_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_date\", \"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_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1651263520.838576}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/opt/homebrew/Cellar/dbt-bigquery/1.1.0/libexec/lib/python3.9/site-packages/dbt/include/global_project", "path": "overview.md", "original_file_path": "docs/overview.md", "name": "__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"], "model.jira_source.stg_jira__project": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"], "model.jira_source.stg_jira__issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"], "model.jira_source.stg_jira__version": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"], "model.jira_source.stg_jira__sprint": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"], "model.jira_source.stg_jira__field_option": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"], "model.jira_source.stg_jira__field": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"], "model.jira_source.stg_jira__resolution": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"], "model.jira_source.stg_jira__status": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"], "model.jira_source.stg_jira__issue": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"], "model.jira_source.stg_jira__status_category": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"], "model.jira_source.stg_jira__issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"], "model.jira_source.stg_jira__issue_type": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"], "model.jira_source.stg_jira__issue_link": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"], "model.jira_source.stg_jira__component": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"], "model.jira_source.stg_jira__user": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"], "model.jira_source.stg_jira__priority": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"], "model.jira_source.stg_jira__version_tmp": ["source.jira_source.jira.version"], "model.jira_source.stg_jira__status_category_tmp": ["source.jira_source.jira.status_category"], "model.jira_source.stg_jira__field_option_tmp": ["source.jira_source.jira.field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["source.jira_source.jira.issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["source.jira_source.jira.issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["source.jira_source.jira.sprint"], "model.jira_source.stg_jira__status_tmp": ["source.jira_source.jira.status"], "model.jira_source.stg_jira__project_tmp": ["source.jira_source.jira.project"], "model.jira_source.stg_jira__comment_tmp": ["source.jira_source.jira.comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["source.jira_source.jira.issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["source.jira_source.jira.issue_link"], "model.jira_source.stg_jira__field_tmp": ["source.jira_source.jira.field"], "model.jira_source.stg_jira__user_tmp": ["source.jira_source.jira.user"], "model.jira_source.stg_jira__issue_tmp": ["source.jira_source.jira.issue"], "model.jira_source.stg_jira__priority_tmp": ["source.jira_source.jira.priority"], "model.jira_source.stg_jira__component_tmp": ["source.jira_source.jira.component"], "model.jira_source.stg_jira__resolution_tmp": ["source.jira_source.jira.resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": ["model.jira_source.stg_jira__comment"], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": ["model.jira_source.stg_jira__comment"], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": ["model.jira_source.stg_jira__component"], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": ["model.jira_source.stg_jira__component"], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": ["model.jira_source.stg_jira__field_option"], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": ["model.jira_source.stg_jira__issue"], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": ["model.jira_source.stg_jira__issue"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": ["model.jira_source.stg_jira__issue_field_history"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": ["model.jira_source.stg_jira__issue_multiselect_history"], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": ["model.jira_source.stg_jira__priority"], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": ["model.jira_source.stg_jira__priority"], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": ["model.jira_source.stg_jira__project"], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": ["model.jira_source.stg_jira__project"], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": ["model.jira_source.stg_jira__resolution"], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": ["model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": ["model.jira_source.stg_jira__sprint"], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": ["model.jira_source.stg_jira__sprint"], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": ["model.jira_source.stg_jira__status"], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": ["model.jira_source.stg_jira__status"], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": ["model.jira_source.stg_jira__status_category"], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": ["model.jira_source.stg_jira__status_category"], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": ["model.jira_source.stg_jira__user"], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": ["model.jira_source.stg_jira__user"], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": ["model.jira_source.stg_jira__version"], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": ["model.jira_source.stg_jira__version"], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}, "child_map": {"seed.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"], "model.jira_source.stg_jira__project": ["test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "test.jira_source.unique_stg_jira__project_project_id.58d321d374"], "model.jira_source.stg_jira__issue_field_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"], "model.jira_source.stg_jira__version": ["test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "test.jira_source.unique_stg_jira__version_version_id.08231bd017"], "model.jira_source.stg_jira__sprint": ["test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"], "model.jira_source.stg_jira__field_option": ["test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"], "model.jira_source.stg_jira__field": ["test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"], "model.jira_source.stg_jira__resolution": ["test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"], "model.jira_source.stg_jira__status": ["test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "test.jira_source.unique_stg_jira__status_status_id.0449241b95"], "model.jira_source.stg_jira__issue": ["test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"], "model.jira_source.stg_jira__status_category": ["test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"], "model.jira_source.stg_jira__issue_multiselect_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"], "model.jira_source.stg_jira__issue_type": ["test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"], "model.jira_source.stg_jira__issue_link": [], "model.jira_source.stg_jira__component": ["test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"], "model.jira_source.stg_jira__user": ["test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"], "model.jira_source.stg_jira__priority": ["test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"], "model.jira_source.stg_jira__version_tmp": ["model.jira_source.stg_jira__version", "model.jira_source.stg_jira__version"], "model.jira_source.stg_jira__status_category_tmp": ["model.jira_source.stg_jira__status_category", "model.jira_source.stg_jira__status_category"], "model.jira_source.stg_jira__field_option_tmp": ["model.jira_source.stg_jira__field_option", "model.jira_source.stg_jira__field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["model.jira_source.stg_jira__issue_multiselect_history", "model.jira_source.stg_jira__issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["model.jira_source.stg_jira__issue_type", "model.jira_source.stg_jira__issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["model.jira_source.stg_jira__sprint", "model.jira_source.stg_jira__sprint"], "model.jira_source.stg_jira__status_tmp": ["model.jira_source.stg_jira__status", "model.jira_source.stg_jira__status"], "model.jira_source.stg_jira__project_tmp": ["model.jira_source.stg_jira__project", "model.jira_source.stg_jira__project"], "model.jira_source.stg_jira__comment_tmp": ["model.jira_source.stg_jira__comment", "model.jira_source.stg_jira__comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["model.jira_source.stg_jira__issue_field_history", "model.jira_source.stg_jira__issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["model.jira_source.stg_jira__issue_link", "model.jira_source.stg_jira__issue_link"], "model.jira_source.stg_jira__field_tmp": ["model.jira_source.stg_jira__field", "model.jira_source.stg_jira__field"], "model.jira_source.stg_jira__user_tmp": ["model.jira_source.stg_jira__user", "model.jira_source.stg_jira__user"], "model.jira_source.stg_jira__issue_tmp": ["model.jira_source.stg_jira__issue", "model.jira_source.stg_jira__issue"], "model.jira_source.stg_jira__priority_tmp": ["model.jira_source.stg_jira__priority", "model.jira_source.stg_jira__priority"], "model.jira_source.stg_jira__component_tmp": ["model.jira_source.stg_jira__component", "model.jira_source.stg_jira__component"], "model.jira_source.stg_jira__resolution_tmp": ["model.jira_source.stg_jira__resolution", "model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": [], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": [], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": [], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": [], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": [], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": [], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": [], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": [], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": [], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": [], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": [], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": [], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": [], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": [], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": [], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": [], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": [], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": [], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": [], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": [], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": [], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": [], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": [], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": [], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": [], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": [], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": [], "source.jira_source.jira.comment": ["model.jira_source.stg_jira__comment_tmp"], "source.jira_source.jira.component": ["model.jira_source.stg_jira__component_tmp"], "source.jira_source.jira.field": ["model.jira_source.stg_jira__field_tmp"], "source.jira_source.jira.field_option": ["model.jira_source.stg_jira__field_option_tmp"], "source.jira_source.jira.issue": ["model.jira_source.stg_jira__issue_tmp"], "source.jira_source.jira.issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp"], "source.jira_source.jira.issue_link": ["model.jira_source.stg_jira__issue_link_tmp"], "source.jira_source.jira.issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp"], "source.jira_source.jira.issue_type": ["model.jira_source.stg_jira__issue_type_tmp"], "source.jira_source.jira.priority": ["model.jira_source.stg_jira__priority_tmp"], "source.jira_source.jira.project": ["model.jira_source.stg_jira__project_tmp"], "source.jira_source.jira.resolution": ["model.jira_source.stg_jira__resolution_tmp"], "source.jira_source.jira.sprint": ["model.jira_source.stg_jira__sprint_tmp"], "source.jira_source.jira.status": ["model.jira_source.stg_jira__status_tmp"], "source.jira_source.jira.status_category": ["model.jira_source.stg_jira__status_category_tmp"], "source.jira_source.jira.user": ["model.jira_source.stg_jira__user_tmp"], "source.jira_source.jira.version": ["model.jira_source.stg_jira__version_tmp"]}} +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-09-20T20:58:53.667391Z", "invocation_id": "b591c73a-93c2-4bcf-9b62-f14d8b1780b8", "env": {}, "project_id": "f8f23f95e595b2cd2ad26844aa066679", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.jira_source_integration_tests.issue_link": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_link"], "unique_id": "seed.jira_source_integration_tests.issue_link", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_link.csv", "original_file_path": "seeds/issue_link.csv", "name": "issue_link", "alias": "issue_link", "checksum": {"name": "sha256", "checksum": "5d31489970cb5d0c119af37bb32e993cad93f07c07de382dffec4e43846a65e3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.609308, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_link\""}, "seed.jira_source_integration_tests.issue_type": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_type"], "unique_id": "seed.jira_source_integration_tests.issue_type", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_type.csv", "original_file_path": "seeds/issue_type.csv", "name": "issue_type", "alias": "issue_type", "checksum": {"name": "sha256", "checksum": "79281a86f92794b477aa2b1c9578ba012fedc4415592051972b35fc0f173a01b"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.6147149, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_type\""}, "seed.jira_source_integration_tests.project_board": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "project_board"], "unique_id": "seed.jira_source_integration_tests.project_board", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project_board.csv", "original_file_path": "seeds/project_board.csv", "name": "project_board", "alias": "project_board", "checksum": {"name": "sha256", "checksum": "04f1ff6543a5214207218e40e7e1664555ccb512d76ba5e14c2ecc42bb9644ad"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.6157, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"project_board\""}, "seed.jira_source_integration_tests.resolution": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "resolution"], "unique_id": "seed.jira_source_integration_tests.resolution", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "resolution.csv", "original_file_path": "seeds/resolution.csv", "name": "resolution", "alias": "resolution", "checksum": {"name": "sha256", "checksum": "531ee2fe6400e78041d7573ccf989aa9b9e3e43aad8cd701b7c3e25fd653cc90"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.616596, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"resolution\""}, "seed.jira_source_integration_tests.version": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "version"], "unique_id": "seed.jira_source_integration_tests.version", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "version.csv", "original_file_path": "seeds/version.csv", "name": "version", "alias": "version", "checksum": {"name": "sha256", "checksum": "bf33e0bb428925e76d6c321ab89507798cd959a1eac7969d91f5e4f0836bee99"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.61747, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"version\""}, "seed.jira_source_integration_tests.status": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "status"], "unique_id": "seed.jira_source_integration_tests.status", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "status.csv", "original_file_path": "seeds/status.csv", "name": "status", "alias": "status", "checksum": {"name": "sha256", "checksum": "8a8c0167d920ede6bfabc65b7222e8d7dd8a89980300ea94b2f3b73c0a5fd645"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.61833, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"status\""}, "seed.jira_source_integration_tests.user_group": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "user_group"], "unique_id": "seed.jira_source_integration_tests.user_group", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "user_group.csv", "original_file_path": "seeds/user_group.csv", "name": "user_group", "alias": "user_group", "checksum": {"name": "sha256", "checksum": "d4f0f807391428848ccbed1222b3a257ec19268893a4bd5bb99232636bf1d105"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.619444, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"user_group\""}, "seed.jira_source_integration_tests.component": {"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": {"_fivetran_synced": "timestamp", "id": "bigint", "project_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "component"], "unique_id": "seed.jira_source_integration_tests.component", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "component.csv", "original_file_path": "seeds/component.csv", "name": "component", "alias": "component", "checksum": {"name": "sha256", "checksum": "4488ce1f19d7cba2e11b81d79de180b955e52ec4028dd5e3061f6d8866919a2a"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "project_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1663707520.620419, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"component\""}, "seed.jira_source_integration_tests.project": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "project"], "unique_id": "seed.jira_source_integration_tests.project", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project.csv", "original_file_path": "seeds/project.csv", "name": "project", "alias": "project", "checksum": {"name": "sha256", "checksum": "fd8986c9b9a2eaecbe37500e7f5c7529b959dfe2422bf2d662754e292d53c134"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.6213608, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"project\""}, "seed.jira_source_integration_tests.issue_multiselect_history": {"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": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "bigint", "value": "varchar"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_multiselect_history"], "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_multiselect_history.csv", "original_file_path": "seeds/issue_multiselect_history.csv", "name": "issue_multiselect_history", "alias": "issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "266af0ef486fec0a6db9679d2dd4d15ecba43bff757867eb5de674c8e6257b81"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1663707520.62225, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_multiselect_history\""}, "seed.jira_source_integration_tests.comment": {"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": {"_fivetran_synced": "timestamp", "id": "bigint", "created": "timestamp", "issue_id": "bigint", "updated": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "comment"], "unique_id": "seed.jira_source_integration_tests.comment", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "comment.csv", "original_file_path": "seeds/comment.csv", "name": "comment", "alias": "comment", "checksum": {"name": "sha256", "checksum": "d3e7dc573cc229747d3a0097e90324be44bd7633336d7d854af579637cd65963"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "updated": "timestamp"}}, "created_at": 1663707520.623276, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"comment\""}, "seed.jira_source_integration_tests.issue": {"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": {"_fivetran_synced": "timestamp", "id": "bigint", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "varchar"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue"], "unique_id": "seed.jira_source_integration_tests.issue", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue.csv", "original_file_path": "seeds/issue.csv", "name": "issue", "alias": "issue", "checksum": {"name": "sha256", "checksum": "4e6858da36f851a3d93127b8cf4d43dbe8114e13aeb5c841bd8c7d4cbcb425fc"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "created": "timestamp", "work_ratio": "float", "resolved": "timestamp", "assignee": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1663707520.6241999, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue\""}, "seed.jira_source_integration_tests.sprint": {"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": {"_fivetran_synced": "timestamp", "id": "bigint", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "sprint"], "unique_id": "seed.jira_source_integration_tests.sprint", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "sprint.csv", "original_file_path": "seeds/sprint.csv", "name": "sprint", "alias": "sprint", "checksum": {"name": "sha256", "checksum": "919fd64d33b7c2a55fdcd3bb30eb19030dff6825b7c651867ad17512407df873"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "complete_date": "timestamp", "end_date": "timestamp", "start_date": "timestamp"}}, "created_at": 1663707520.625133, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"sprint\""}, "seed.jira_source_integration_tests.field_option": {"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": {"_fivetran_synced": "timestamp", "id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "field_option"], "unique_id": "seed.jira_source_integration_tests.field_option", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "field_option.csv", "original_file_path": "seeds/field_option.csv", "name": "field_option", "alias": "field_option", "checksum": {"name": "sha256", "checksum": "cfb0566ee5e4d37ff42874738a9aa55db3fa8ecd5b05daf2879e635576ec60ca"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1663707520.626055, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"field_option\""}, "seed.jira_source_integration_tests.epic": {"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": {"_fivetran_synced": "timestamp", "id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "epic"], "unique_id": "seed.jira_source_integration_tests.epic", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "epic.csv", "original_file_path": "seeds/epic.csv", "name": "epic", "alias": "epic", "checksum": {"name": "sha256", "checksum": "c0330c18dbeb3ba527c84e3625f7ce51994d90296970a0f03cd7bf74dd37b68e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1663707520.626945, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"epic\""}, "seed.jira_source_integration_tests.field": {"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": {"_fivetran_synced": "timestamp", "id": "varchar"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "field"], "unique_id": "seed.jira_source_integration_tests.field", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "field.csv", "original_file_path": "seeds/field.csv", "name": "field", "alias": "field", "checksum": {"name": "sha256", "checksum": "1a1bf85a3609dae9208a40cdb353b710125668595523093b4c36109b2f99aa07"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"id": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1663707520.627945, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"field\""}, "seed.jira_source_integration_tests.user": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "user"], "unique_id": "seed.jira_source_integration_tests.user", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "user.csv", "original_file_path": "seeds/user.csv", "name": "user", "alias": "user", "checksum": {"name": "sha256", "checksum": "09b765c18fcde1e10c80196dc6b38d635fa6ce1361ba31aa2b2da75f447951ab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.628852, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"user\""}, "seed.jira_source_integration_tests.priority": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "priority"], "unique_id": "seed.jira_source_integration_tests.priority", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "priority.csv", "original_file_path": "seeds/priority.csv", "name": "priority", "alias": "priority", "checksum": {"name": "sha256", "checksum": "c64e8f0963669242bf6355d5658bef9bacea31c4ee9378d970965b4cef06c691"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.629874, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"priority\""}, "seed.jira_source_integration_tests.status_category": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "status_category"], "unique_id": "seed.jira_source_integration_tests.status_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "status_category.csv", "original_file_path": "seeds/status_category.csv", "name": "status_category", "alias": "status_category", "checksum": {"name": "sha256", "checksum": "b70923cd595a54c3e64fe588783062ca1115e9055dbe63329c203fcb3c14b1c3"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.630804, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"status_category\""}, "seed.jira_source_integration_tests.issue_field_history": {"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": {"_fivetran_synced": "timestamp", "time": "timestamp", "issue_id": "bigint", "value": "varchar"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "issue_field_history"], "unique_id": "seed.jira_source_integration_tests.issue_field_history", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "issue_field_history.csv", "original_file_path": "seeds/issue_field_history.csv", "name": "issue_field_history", "alias": "issue_field_history", "checksum": {"name": "sha256", "checksum": "3cbf9808964cb92833f78327f878bd6fc174784bcdb1630d8a56959fdf7e1f9c"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"time": "timestamp", "issue_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "value": "{{ 'string' if target.name in ('bigquery', 'spark') else 'varchar' }}"}}, "created_at": 1663707520.631829, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_field_history\""}, "seed.jira_source_integration_tests.project_category": {"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": {"_fivetran_synced": "timestamp"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": null, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "jira_source_integration_tests", "fqn": ["jira_source_integration_tests", "project_category"], "unique_id": "seed.jira_source_integration_tests.project_category", "package_name": "jira_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests", "path": "project_category.csv", "original_file_path": "seeds/project_category.csv", "name": "project_category", "alias": "project_category", "checksum": {"name": "sha256", "checksum": "0420d8a815583af92a68a51fa4b46d3081a33aa8c2d6649d7f52065721a0301d"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"column_types": {"_fivetran_synced": "timestamp"}}, "created_at": 1663707520.6327438, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"project_category\""}, "model.jira_source.stg_jira__comment": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__comment_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_jira__comment_tmp')),\n staging_columns=get_comment_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n cast(created as {{ dbt_utils.type_timestamp() }}) as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n cast(updated as {{ dbt_utils.type_timestamp() }}) as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_comment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__comment"], "unique_id": "model.jira_source.stg_jira__comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__comment.sql", "original_file_path": "models/stg_jira__comment.sql", "name": "stg_jira__comment", "alias": "stg_jira__comment", "checksum": {"name": "sha256", "checksum": "7e029c5a1c0c52422024b8b556ae4d00c74d2775ecc2c58a8dda0e62e399d854"}, "tags": [], "refs": [["stg_jira__comment_tmp"], ["stg_jira__comment_tmp"]], "sources": [], "description": "Table of comments made on issues.", "columns": {"comment_id": {"name": "comment_id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_user_id": {"name": "author_user_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the comment was created. TODO - get timezone clarification", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_update_user_id": {"name": "last_update_user_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_updated_at": {"name": "last_updated_at", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__comment.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.86174, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__comment_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 author_id\n \n as \n \n author_id\n \n, \n \n \n body\n \n as \n \n body\n \n, \n \n \n created\n \n as \n \n created\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n is_public\n \n as \n \n is_public\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n update_author_id\n \n as \n \n update_author_id\n \n, \n \n \n updated\n \n as \n \n updated\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n author_id as author_user_id,\n body,\n cast(created as \n timestamp without time zone\n) as created_at,\n id as comment_id,\n issue_id,\n is_public,\n update_author_id as last_update_user_id,\n cast(updated as \n timestamp without time zone\n) as last_updated_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__comment\""}, "model.jira_source.stg_jira__project": {"raw_sql": "with base as (\n \n select *\n from {{ ref('stg_jira__project_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_jira__project_tmp')),\n staging_columns=get_project_columns()\n )\n }}\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_project_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__project"], "unique_id": "model.jira_source.stg_jira__project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__project.sql", "original_file_path": "models/stg_jira__project.sql", "name": "stg_jira__project", "alias": "stg_jira__project", "checksum": {"name": "sha256", "checksum": "b79355d418e10ba5291f50718372e85750c439981b28e786fd401fe7d51bd6fb"}, "tags": [], "refs": [["stg_jira__project_tmp"], ["stg_jira__project_tmp"]], "sources": [], "description": "Table of all projects in your organization.", "columns": {"project_id": {"name": "project_id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_description": {"name": "project_description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_key": {"name": "project_key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_lead_user_id": {"name": "project_lead_user_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_name": {"name": "project_name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__project.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.873278, "compiled_sql": "with base as (\n \n select *\n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__project_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 description\n \n as \n \n description\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n key\n \n as \n \n key\n \n, \n \n \n lead_id\n \n as \n \n lead_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n permission_scheme_id\n \n as \n \n permission_scheme_id\n \n, \n \n \n project_category_id\n \n as \n \n project_category_id\n \n\n\n\n from base\n\n),\n\nfinal as (\n\n select \n description as project_description,\n id as project_id,\n key as project_key,\n lead_id as project_lead_user_id,\n name as project_name,\n project_category_id,\n permission_scheme_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__project\""}, "model.jira_source.stg_jira__issue_field_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_field_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_jira__issue_field_history_tmp')),\n staging_columns=get_issue_field_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' -%}\n cast(\"TIME\" as {{ dbt_utils.type_timestamp() }})\n {% elif target.type == 'redshift' -%}\n cast(\"time\" as {{ dbt_utils.type_timestamp() }})\n {% else -%}\n cast(time as {{ dbt_utils.type_timestamp() }})\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_field_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__issue_field_history"], "unique_id": "model.jira_source.stg_jira__issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_field_history.sql", "original_file_path": "models/stg_jira__issue_field_history.sql", "name": "stg_jira__issue_field_history", "alias": "stg_jira__issue_field_history", "checksum": {"name": "sha256", "checksum": "9994da4b11053a63d4f20c0f85dd5aafbb13af04dc0759f7497697979e67b958"}, "tags": [], "refs": [["stg_jira__issue_field_history_tmp"], ["stg_jira__issue_field_history_tmp"]], "sources": [], "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_field_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.869149, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_field_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 field_id\n \n as \n \n field_id\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n value\n \n as \n \n value\n \n, \n \n \n time\n \n as \n \n time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(field_id as \n varchar\n) as field_id,\n issue_id,\n cast(time as \n timestamp without time zone\n)\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_field_history\""}, "model.jira_source.stg_jira__version": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__version_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_jira__version_tmp')),\n staging_columns=get_version_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n cast(release_date as {{ dbt_utils.type_timestamp() }}) as release_date,\n released as is_released,\n cast(start_date as {{ dbt_utils.type_timestamp() }}) as start_date\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_version_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__version"], "unique_id": "model.jira_source.stg_jira__version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__version.sql", "original_file_path": "models/stg_jira__version.sql", "name": "stg_jira__version", "alias": "stg_jira__version", "checksum": {"name": "sha256", "checksum": "8fc176416dc472dcc7b32386472384590d426f399fe034616c97f111701fbe4a"}, "tags": [], "refs": [["stg_jira__version_tmp"], ["stg_jira__version_tmp"]], "sources": [], "description": "Table of project versions in your organization.", "columns": {"is_archived": {"name": "is_archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_name": {"name": "version_name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_released": {"name": "is_released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__version.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.8797839, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__version_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 archived\n \n as \n \n archived\n \n, \n \n \n description\n \n as \n \n description\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 overdue\n \n as \n \n overdue\n \n, \n \n \n project_id\n \n as \n \n project_id\n \n, \n \n \n release_date\n \n as \n \n release_date\n \n, \n \n \n released\n \n as \n \n released\n \n, \n \n \n start_date\n \n as \n \n start_date\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n archived as is_archived,\n description,\n id as version_id,\n name as version_name,\n overdue as is_overdue,\n project_id,\n cast(release_date as \n timestamp without time zone\n) as release_date,\n released as is_released,\n cast(start_date as \n timestamp without time zone\n) as start_date\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__version\""}, "model.jira_source.stg_jira__sprint": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__sprint_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_jira__sprint_tmp')),\n staging_columns=get_sprint_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n cast(complete_date as {{ dbt_utils.type_timestamp() }}) as completed_at,\n cast(end_date as {{ dbt_utils.type_timestamp() }}) as ended_at,\n cast(start_date as {{ dbt_utils.type_timestamp() }}) as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_sprint_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__sprint"], "unique_id": "model.jira_source.stg_jira__sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__sprint.sql", "original_file_path": "models/stg_jira__sprint.sql", "name": "stg_jira__sprint", "alias": "stg_jira__sprint", "checksum": {"name": "sha256", "checksum": "4f918dc4b55a375be7a8706f535e334000d962c679f1c5230b6a3589e1983e41"}, "tags": [], "refs": [["stg_jira__sprint_tmp"], ["stg_jira__sprint_tmp"]], "sources": [], "description": "Table of all sprints.", "columns": {"sprint_id": {"name": "sprint_id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "completed_at": {"name": "completed_at", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ended_at": {"name": "ended_at", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "sprint_name": {"name": "sprint_name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "started_at": {"name": "started_at", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__sprint.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.875104, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__sprint_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 board_id\n \n as \n \n board_id\n \n, \n \n \n complete_date\n \n as \n \n complete_date\n \n, \n \n \n end_date\n \n as \n \n end_date\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_date\n \n as \n \n start_date\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as sprint_id,\n name as sprint_name,\n board_id,\n cast(complete_date as \n timestamp without time zone\n) as completed_at,\n cast(end_date as \n timestamp without time zone\n) as ended_at,\n cast(start_date as \n timestamp without time zone\n) as started_at,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__sprint\""}, "model.jira_source.stg_jira__field_option": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_option_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_jira__field_option_tmp')),\n staging_columns=get_field_option_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n parent_id as parent_field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_option_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__field_option"], "unique_id": "model.jira_source.stg_jira__field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__field_option.sql", "original_file_path": "models/stg_jira__field_option.sql", "name": "stg_jira__field_option", "alias": "stg_jira__field_option", "checksum": {"name": "sha256", "checksum": "372831d5053442361060ecc3c2dd39b37922f6cca8ed5748c6b5d06fb6f458e5"}, "tags": [], "refs": [["stg_jira__field_option_tmp"], ["stg_jira__field_option_tmp"]], "sources": [], "description": "Table of all options related to custom fields.", "columns": {"field_id": {"name": "field_id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_field_id": {"name": "parent_field_id", "description": "The ID of the parent custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_option_name": {"name": "field_option_name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field_option.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.8641899, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field_option_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n parent_id\n \n as \n \n parent_id\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as field_id,\n parent_id as parent_field_id,\n name as field_option_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field_option\""}, "model.jira_source.stg_jira__field": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__field_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_jira__field_tmp')),\n staging_columns=get_field_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt_utils.type_string() }}) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_field_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string"], "nodes": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__field"], "unique_id": "model.jira_source.stg_jira__field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__field.sql", "original_file_path": "models/stg_jira__field.sql", "name": "stg_jira__field", "alias": "stg_jira__field", "checksum": {"name": "sha256", "checksum": "bd9e1203d72fee62d517f29766a023fa75369dcfc43dd22d1c18a5b0ee6e430e"}, "tags": [], "refs": [["stg_jira__field_tmp"], ["stg_jira__field_tmp"]], "sources": [], "description": "Table of all issue fields.", "columns": {"field_id": {"name": "field_id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_name": {"name": "field_name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__field.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.863581, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field_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 id\n \n as \n \n id\n \n, \n \n \n is_array\n \n as \n \n is_array\n \n, \n \n \n is_custom\n \n as \n \n is_custom\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as \n varchar\n) as field_id,\n is_array,\n is_custom,\n name as field_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field\""}, "model.jira_source.stg_jira__resolution": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__resolution_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_jira__resolution_tmp')),\n staging_columns=get_resolution_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_resolution_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__resolution"], "unique_id": "model.jira_source.stg_jira__resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__resolution.sql", "original_file_path": "models/stg_jira__resolution.sql", "name": "stg_jira__resolution", "alias": "stg_jira__resolution", "checksum": {"name": "sha256", "checksum": "df0a7fee42db70dbcfb35b1451336d745203a8ecdad4151617aae411dcf3ca5d"}, "tags": [], "refs": [["stg_jira__resolution_tmp"], ["stg_jira__resolution_tmp"]], "sources": [], "description": "Table storing the types of resolutions used by your organization.", "columns": {"resolution_id": {"name": "resolution_id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_description": {"name": "resolution_description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_name": {"name": "resolution_name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__resolution.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.874044, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__resolution_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 description\n \n as \n \n description\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 from base\n),\n\nfinal as (\n \n select \n description as resolution_description,\n id as resolution_id,\n name as resolution_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__resolution\""}, "model.jira_source.stg_jira__status": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_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_jira__status_tmp')),\n staging_columns=get_status_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__status"], "unique_id": "model.jira_source.stg_jira__status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__status.sql", "original_file_path": "models/stg_jira__status.sql", "name": "stg_jira__status", "alias": "stg_jira__status", "checksum": {"name": "sha256", "checksum": "648c813903f25664f0814e811e0d78023933601777f17ad4ee32a831477bc6e6"}, "tags": [], "refs": [["stg_jira__status_tmp"], ["stg_jira__status_tmp"]], "sources": [], "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"status_id": {"name": "status_id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_description": {"name": "status_description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_name": {"name": "status_name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.875956, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_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 description\n \n as \n \n description\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_category_id\n \n as \n \n status_category_id\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description as status_description,\n id as status_id,\n name as status_name,\n status_category_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status\""}, "model.jira_source.stg_jira__issue": {"raw_sql": "with base as (\n \n select * \n from {{ ref('stg_jira__issue_tmp') }}\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_jira__issue_tmp')),\n staging_columns=get_issue_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n cast(created as {{ dbt_utils.type_timestamp() }}) as created_at,\n cast(resolved as {{ dbt_utils.type_timestamp() }}) as resolved_at,\n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n cast(status_category_changed as {{ dbt_utils.type_timestamp() }}) as status_changed_at,\n summary as issue_name,\n cast(updated as {{ dbt_utils.type_timestamp() }}) as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__issue"], "unique_id": "model.jira_source.stg_jira__issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue.sql", "original_file_path": "models/stg_jira__issue.sql", "name": "stg_jira__issue", "alias": "stg_jira__issue", "checksum": {"name": "sha256", "checksum": "430bf9c492bbbb367e70a192ab4b4b42d9a2891252aeb37dd1dec71dfd42d2b1"}, "tags": [], "refs": [["stg_jira__issue_tmp"], ["stg_jira__issue_tmp"]], "sources": [], "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"issue_id": {"name": "issue_id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee_user_id": {"name": "assignee_user_id", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator_user_id": {"name": "creator_user_id", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_description": {"name": "issue_description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_id": {"name": "issue_type_id", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_key": {"name": "issue_key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate_seconds": {"name": "original_estimate_seconds", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_issue_id": {"name": "parent_issue_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_id": {"name": "priority_id", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate_seconds": {"name": "remaining_estimate_seconds", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter_user_id": {"name": "reporter_user_id", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution_id": {"name": "resolution_id", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved_at": {"name": "resolved_at", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is un-resolved, this will be null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_id": {"name": "status_id", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_changed_at": {"name": "status_changed_at", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_name": {"name": "issue_name", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent_seconds": {"name": "time_spent_seconds", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.8681312, "compiled_sql": "with base as (\n \n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_tmp\"\n where not coalesce(_fivetran_deleted, false)\n),\n\nfields as (\n\n select \n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n _original_estimate\n \n as \n \n _original_estimate\n \n, \n \n \n _remaining_estimate\n \n as \n \n _remaining_estimate\n \n, \n \n \n _time_spent\n \n as \n \n _time_spent\n \n, \n \n \n assignee\n \n as \n \n assignee\n \n, \n \n \n created\n \n as \n \n created\n \n, \n \n \n creator\n \n as \n \n creator\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n environment\n \n as \n \n environment\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n issue_type\n \n as \n \n issue_type\n \n, \n \n \n key\n \n as \n \n key\n \n, \n \n \n original_estimate\n \n as \n \n original_estimate\n \n, \n \n \n parent_id\n \n as \n \n parent_id\n \n, \n \n \n priority\n \n as \n \n priority\n \n, \n \n \n project\n \n as \n \n project\n \n, \n \n \n remaining_estimate\n \n as \n \n remaining_estimate\n \n, \n \n \n reporter\n \n as \n \n reporter\n \n, \n \n \n resolution\n \n as \n \n resolution\n \n, \n \n \n resolved\n \n as \n \n resolved\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n status_category_changed\n \n as \n \n status_category_changed\n \n, \n \n \n summary\n \n as \n \n summary\n \n, \n \n \n time_spent\n \n as \n \n time_spent\n \n, \n \n \n updated\n \n as \n \n updated\n \n, \n \n \n work_ratio\n \n as \n \n work_ratio\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n coalesce(original_estimate, _original_estimate) as original_estimate_seconds,\n coalesce(remaining_estimate, _remaining_estimate) as remaining_estimate_seconds,\n coalesce(time_spent, _time_spent) as time_spent_seconds,\n assignee as assignee_user_id,\n cast(created as \n timestamp without time zone\n) as created_at,\n cast(resolved as \n timestamp without time zone\n) as resolved_at,\n creator as creator_user_id,\n description as issue_description,\n due_date,\n environment,\n id as issue_id,\n issue_type as issue_type_id,\n key as issue_key,\n parent_id as parent_issue_id,\n priority as priority_id,\n project as project_id,\n reporter as reporter_user_id,\n resolution as resolution_id,\n status as status_id,\n cast(status_category_changed as \n timestamp without time zone\n) as status_changed_at,\n summary as issue_name,\n cast(updated as \n timestamp without time zone\n) as updated_at,\n work_ratio,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue\""}, "model.jira_source.stg_jira__status_category": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__status_category_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_jira__status_category_tmp')),\n staging_columns=get_status_category_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_status_category_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__status_category"], "unique_id": "model.jira_source.stg_jira__status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__status_category.sql", "original_file_path": "models/stg_jira__status_category.sql", "name": "stg_jira__status_category", "alias": "stg_jira__status_category", "checksum": {"name": "sha256", "checksum": "f260e226e6da3a826497305326ddf19c4464f0f7c052f70251d11f7a641a5aa0"}, "tags": [], "refs": [["stg_jira__status_category_tmp"], ["stg_jira__status_category_tmp"]], "sources": [], "description": "Table of umbrella status categories.", "columns": {"status_category_id": {"name": "status_category_id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_name": {"name": "status_category_name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__status_category.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.87645, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_category_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 id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as status_category_id,\n name as status_category_name\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_category\""}, "model.jira_source.stg_jira__issue_multiselect_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_multiselect_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_jira__issue_multiselect_history_tmp')),\n staging_columns=get_issue_multiselect_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as {{ dbt_utils.type_string() }}) as field_id,\n issue_id,\n {% if target.type == 'snowflake' %}\n cast(\"TIME\" as {{ dbt_utils.type_timestamp() }})\n {% elif target.type == 'redshift' %}\n cast(\"time\" as {{ dbt_utils.type_timestamp() }})\n {% else %}\n cast(time as {{ dbt_utils.type_timestamp() }})\n {% endif %} as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_multiselect_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.type_string", "macro.dbt_utils.type_timestamp"], "nodes": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__issue_multiselect_history"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_multiselect_history.sql", "original_file_path": "models/stg_jira__issue_multiselect_history.sql", "name": "stg_jira__issue_multiselect_history", "alias": "stg_jira__issue_multiselect_history", "checksum": {"name": "sha256", "checksum": "c9fd53a4b2b6b8f6bd365064c89d1ca7014757553a7dd767a378e23240bf9420"}, "tags": [], "refs": [["stg_jira__issue_multiselect_history_tmp"], ["stg_jira__issue_multiselect_history_tmp"]], "sources": [], "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_value": {"name": "field_value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_multiselect_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.870238, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_multiselect_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 field_id\n \n as \n \n field_id\n \n, \n \n \n issue_id\n \n as \n \n issue_id\n \n, \n \n \n value\n \n as \n \n value\n \n, \n \n \n time\n \n as \n \n time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n _fivetran_id,\n cast(field_id as \n varchar\n) as field_id,\n issue_id,\n \n cast(time as \n timestamp without time zone\n)\n as updated_at,\n value as field_value,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_multiselect_history\""}, "model.jira_source.stg_jira__issue_type": {"raw_sql": "with base as (\n\n select * from \n {{ ref('stg_jira__issue_type_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_jira__issue_type_tmp')),\n staging_columns=get_issue_type_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_type_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__issue_type"], "unique_id": "model.jira_source.stg_jira__issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_type.sql", "original_file_path": "models/stg_jira__issue_type.sql", "name": "stg_jira__issue_type", "alias": "stg_jira__issue_type", "checksum": {"name": "sha256", "checksum": "605f5eb9aee0eca280a7c9186d69c378ee3649cd35e495ed387e0a8c19b9cb64"}, "tags": [], "refs": [["stg_jira__issue_type_tmp"], ["stg_jira__issue_type_tmp"]], "sources": [], "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"issue_type_id": {"name": "issue_type_id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type_name": {"name": "issue_type_name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_subtask": {"name": "is_subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_type.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.8710861, "compiled_sql": "with base as (\n\n select * from \n \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_type_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 description\n \n as \n \n description\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 subtask\n \n as \n \n subtask\n \n\n\n\n from base\n),\n\nfinal as (\n\n select\n description,\n id as issue_type_id,\n name as issue_type_name,\n subtask as is_subtask,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_type\""}, "model.jira_source.stg_jira__issue_link": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__issue_link_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_jira__issue_link_tmp')),\n staging_columns=get_issue_link_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_issue_link_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__issue_link"], "unique_id": "model.jira_source.stg_jira__issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__issue_link.sql", "original_file_path": "models/stg_jira__issue_link.sql", "name": "stg_jira__issue_link", "alias": "stg_jira__issue_link", "checksum": {"name": "sha256", "checksum": "7b8846ace343b3984c16bccb1a7bc2f49c6eef1547dec7a2fbcb1a206daff5bb"}, "tags": [], "refs": [["stg_jira__issue_link_tmp"], ["stg_jira__issue_link_tmp"]], "sources": [], "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__issue_link.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.8647969, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_link_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 issue_id\n \n as \n \n issue_id\n \n, \n \n \n related_issue_id\n \n as \n \n related_issue_id\n \n, \n \n \n relationship\n \n as \n \n relationship\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n issue_id,\n related_issue_id,\n relationship,\n _fivetran_synced \n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_link\""}, "model.jira_source.stg_jira__component": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__component_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_jira__component_tmp')),\n staging_columns=get_component_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_component_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__component"], "unique_id": "model.jira_source.stg_jira__component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__component.sql", "original_file_path": "models/stg_jira__component.sql", "name": "stg_jira__component", "alias": "stg_jira__component", "checksum": {"name": "sha256", "checksum": "22f31e1f8c71e992171ead7a23e0c61d654dab19ebec7e227c741a704887783d"}, "tags": [], "refs": [["stg_jira__component_tmp"], ["stg_jira__component_tmp"]], "sources": [], "description": "Table of project components (subsections to group issues).", "columns": {"component_id": {"name": "component_id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_description": {"name": "component_description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "component_name": {"name": "component_name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__component.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.862756, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__component_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 description\n \n as \n \n description\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 project_id\n \n as \n \n project_id\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n description as component_description,\n id as component_id,\n name as component_name,\n project_id,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__component\""}, "model.jira_source.stg_jira__user": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_jira__user_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_jira__user_tmp')),\n staging_columns=get_user_columns()\n )\n }}\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_user_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__user"], "unique_id": "model.jira_source.stg_jira__user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__user.sql", "original_file_path": "models/stg_jira__user.sql", "name": "stg_jira__user", "alias": "stg_jira__user", "checksum": {"name": "sha256", "checksum": "95b85f878a0a0784390ff0c1738c4bf709902531870b71fee4165f1628d4faa3"}, "tags": [], "refs": [["stg_jira__user_tmp"], ["stg_jira__user_tmp"]], "sources": [], "description": "Table of users associated with your organization.", "columns": {"user_id": {"name": "user_id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user acccount.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "user_display_name": {"name": "user_display_name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__user.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira"}, "created_at": 1663707520.8774312, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__user_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 email\n \n as \n \n email\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n locale\n \n as \n \n locale\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n time_zone\n \n as \n \n time_zone\n \n, \n \n \n username\n \n as \n \n username\n \n\n\n\n from base\n),\n\nfinal as (\n\n select \n email,\n id as user_id,\n locale,\n name as user_display_name,\n time_zone,\n username,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__user\""}, "model.jira_source.stg_jira__priority": {"raw_sql": "{{ config(enabled=var('jira_using_priorities', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_jira__priority_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_jira__priority_tmp')),\n staging_columns=get_priority_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.jira_source.get_priority_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "stg_jira__priority"], "unique_id": "model.jira_source.stg_jira__priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "stg_jira__priority.sql", "original_file_path": "models/stg_jira__priority.sql", "name": "stg_jira__priority", "alias": "stg_jira__priority", "checksum": {"name": "sha256", "checksum": "e6627a12758dece0969f5a6a38eb6370b52aa55b1f958539729945d64ea44ea0"}, "tags": [], "refs": [["stg_jira__priority_tmp"], ["stg_jira__priority_tmp"]], "sources": [], "description": "Table of issue priority levels (global).", "columns": {"priority_id": {"name": "priority_id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_description": {"name": "priority_description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority_name": {"name": "priority_name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "jira_source://models/stg_jira.yml", "compiled_path": "target/compiled/jira_source/models/stg_jira__priority.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.871756, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__priority_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 description\n \n as \n \n description\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 from base\n),\n\nfinal as (\n \n select \n description as priority_description,\n id as priority_id,\n name as priority_name,\n _fivetran_synced\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__priority\""}, "model.jira_source.stg_jira__version_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_versions', True)) }}\n\nselect * \nfrom {{ var('version') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.version"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__version_tmp"], "unique_id": "model.jira_source.stg_jira__version_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__version_tmp.sql", "original_file_path": "models/tmp/stg_jira__version_tmp.sql", "name": "stg_jira__version_tmp", "alias": "stg_jira__version_tmp", "checksum": {"name": "sha256", "checksum": "4e16bea890df92fe2393d1e151479ee51ed270f40d9b4ba3f922d858787c347e"}, "tags": [], "refs": [], "sources": [["jira", "version"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__version_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.781719, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"jira_source_integration_tests\".\"version\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__version_tmp\""}, "model.jira_source.stg_jira__status_category_tmp": {"raw_sql": "select * \nfrom {{ var('status_category') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status_category"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_category_tmp"], "unique_id": "model.jira_source.stg_jira__status_category_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__status_category_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_category_tmp.sql", "name": "stg_jira__status_category_tmp", "alias": "stg_jira__status_category_tmp", "checksum": {"name": "sha256", "checksum": "ce976a7afa132349c28940f9d387b3e635c9a6dd2576844347910580ea592a4b"}, "tags": [], "refs": [], "sources": [["jira", "status_category"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_category_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.78795, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"status_category\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_category_tmp\""}, "model.jira_source.stg_jira__field_option_tmp": {"raw_sql": "select * \nfrom {{ var('field_option') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field_option"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_option_tmp"], "unique_id": "model.jira_source.stg_jira__field_option_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__field_option_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_option_tmp.sql", "name": "stg_jira__field_option_tmp", "alias": "stg_jira__field_option_tmp", "checksum": {"name": "sha256", "checksum": "cb1e64625d369889104ada54bf610b9aa36e1623853ae29ae24bd8f5bb4b2437"}, "tags": [], "refs": [], "sources": [["jira", "field_option"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_option_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.790572, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"field_option\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field_option_tmp\""}, "model.jira_source.stg_jira__issue_multiselect_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_multiselect_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_multiselect_history"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_multiselect_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_multiselect_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "name": "stg_jira__issue_multiselect_history_tmp", "alias": "stg_jira__issue_multiselect_history_tmp", "checksum": {"name": "sha256", "checksum": "faf8d7e362472ef899552eba8ee39c1fa8a1b803f64a639d6f481400861bc24a"}, "tags": [], "refs": [], "sources": [["jira", "issue_multiselect_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_multiselect_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.793144, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"issue_multiselect_history\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_multiselect_history_tmp\""}, "model.jira_source.stg_jira__issue_type_tmp": {"raw_sql": "select * \nfrom {{ var('issue_type') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_type_tmp"], "unique_id": "model.jira_source.stg_jira__issue_type_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_type_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_type_tmp.sql", "name": "stg_jira__issue_type_tmp", "alias": "stg_jira__issue_type_tmp", "checksum": {"name": "sha256", "checksum": "166aa9a9ce724421198262fb67dd01b9130712cada1defcd20a991308676e5d0"}, "tags": [], "refs": [], "sources": [["jira", "issue_type"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_type_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.796198, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"issue_type\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_type_tmp\""}, "model.jira_source.stg_jira__sprint_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_sprints', True)) }}\n\nselect * \nfrom {{ var('sprint') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.sprint"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__sprint_tmp"], "unique_id": "model.jira_source.stg_jira__sprint_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__sprint_tmp.sql", "original_file_path": "models/tmp/stg_jira__sprint_tmp.sql", "name": "stg_jira__sprint_tmp", "alias": "stg_jira__sprint_tmp", "checksum": {"name": "sha256", "checksum": "a21fcc01937bc59051bdd08532e3cf8535b078b2204f659f9ef98817dfb0c463"}, "tags": [], "refs": [], "sources": [["jira", "sprint"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__sprint_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.799128, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"jira_source_integration_tests\".\"sprint\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__sprint_tmp\""}, "model.jira_source.stg_jira__status_tmp": {"raw_sql": "select * \nfrom {{ var('status') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.status"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__status_tmp"], "unique_id": "model.jira_source.stg_jira__status_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__status_tmp.sql", "original_file_path": "models/tmp/stg_jira__status_tmp.sql", "name": "stg_jira__status_tmp", "alias": "stg_jira__status_tmp", "checksum": {"name": "sha256", "checksum": "206c9a7f6e35d22a162df8e6d1ae4c121382af956e056ca619faff9986ab16b3"}, "tags": [], "refs": [], "sources": [["jira", "status"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__status_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.802437, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"status\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_tmp\""}, "model.jira_source.stg_jira__project_tmp": {"raw_sql": "select * \nfrom {{ var('project') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.project"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__project_tmp"], "unique_id": "model.jira_source.stg_jira__project_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__project_tmp.sql", "original_file_path": "models/tmp/stg_jira__project_tmp.sql", "name": "stg_jira__project_tmp", "alias": "stg_jira__project_tmp", "checksum": {"name": "sha256", "checksum": "776cf64136ff22eaa9fddcb5b4aadd58e5b295800ffd8b3a2c3871ed22531599"}, "tags": [], "refs": [], "sources": [["jira", "project"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__project_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.805839, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"project\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__project_tmp\""}, "model.jira_source.stg_jira__comment_tmp": {"raw_sql": "select * \nfrom {{ var('comment') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.comment"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__comment_tmp"], "unique_id": "model.jira_source.stg_jira__comment_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__comment_tmp.sql", "original_file_path": "models/tmp/stg_jira__comment_tmp.sql", "name": "stg_jira__comment_tmp", "alias": "stg_jira__comment_tmp", "checksum": {"name": "sha256", "checksum": "50e78fc23c6041b43d46c0adf7f6cf3c1e2375ef3410fbdd2f527028d9830880"}, "tags": [], "refs": [], "sources": [["jira", "comment"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__comment_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.808511, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"comment\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__comment_tmp\""}, "model.jira_source.stg_jira__issue_field_history_tmp": {"raw_sql": "select * \nfrom {{ var('issue_field_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_field_history"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_field_history_tmp"], "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_field_history_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_field_history_tmp.sql", "name": "stg_jira__issue_field_history_tmp", "alias": "stg_jira__issue_field_history_tmp", "checksum": {"name": "sha256", "checksum": "037b5bef93c17b862d1969a35a66f10feb507b34d943b093c13ace0298b5d855"}, "tags": [], "refs": [], "sources": [["jira", "issue_field_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_field_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.811321, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"issue_field_history\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_field_history_tmp\""}, "model.jira_source.stg_jira__issue_link_tmp": {"raw_sql": "select * \nfrom {{ var('issue_link') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue_link"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_link_tmp"], "unique_id": "model.jira_source.stg_jira__issue_link_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_link_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_link_tmp.sql", "name": "stg_jira__issue_link_tmp", "alias": "stg_jira__issue_link_tmp", "checksum": {"name": "sha256", "checksum": "deb68ea3ff7d2f0d254d06e07829733756ce80efb7af5209e5ae43840b8e254a"}, "tags": [], "refs": [], "sources": [["jira", "issue_link"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_link_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.81394, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"issue_link\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_link_tmp\""}, "model.jira_source.stg_jira__field_tmp": {"raw_sql": "select * \nfrom {{ var('field') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.field"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__field_tmp"], "unique_id": "model.jira_source.stg_jira__field_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__field_tmp.sql", "original_file_path": "models/tmp/stg_jira__field_tmp.sql", "name": "stg_jira__field_tmp", "alias": "stg_jira__field_tmp", "checksum": {"name": "sha256", "checksum": "aa842b8fc7fa2e61d4b04634ddae4948afce86a6c1ba37197e01c5baeef8f374"}, "tags": [], "refs": [], "sources": [["jira", "field"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__field_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.816622, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"field\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field_tmp\""}, "model.jira_source.stg_jira__user_tmp": {"raw_sql": "select * \nfrom {{ var('user') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.user"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__user_tmp"], "unique_id": "model.jira_source.stg_jira__user_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__user_tmp.sql", "original_file_path": "models/tmp/stg_jira__user_tmp.sql", "name": "stg_jira__user_tmp", "alias": "stg_jira__user_tmp", "checksum": {"name": "sha256", "checksum": "c6665b2e96c3536ab07cdc0fe31225a7be4766df0c7c353e3ade197bc8498279"}, "tags": [], "refs": [], "sources": [["jira", "user"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__user_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.819433, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"user\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__user_tmp\""}, "model.jira_source.stg_jira__issue_tmp": {"raw_sql": "select * \nfrom {{ var('issue') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.issue"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__issue_tmp"], "unique_id": "model.jira_source.stg_jira__issue_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__issue_tmp.sql", "original_file_path": "models/tmp/stg_jira__issue_tmp.sql", "name": "stg_jira__issue_tmp", "alias": "stg_jira__issue_tmp", "checksum": {"name": "sha256", "checksum": "2f84522aea28fb2bef123eff34648c4777747064de156efaad69c053d3b06092"}, "tags": [], "refs": [], "sources": [["jira", "issue"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__issue_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.82306, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"issue\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_tmp\""}, "model.jira_source.stg_jira__priority_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_priorities', True)) }}\n\nselect * from {{ var('priority') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.priority"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__priority_tmp"], "unique_id": "model.jira_source.stg_jira__priority_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__priority_tmp.sql", "original_file_path": "models/tmp/stg_jira__priority_tmp.sql", "name": "stg_jira__priority_tmp", "alias": "stg_jira__priority_tmp", "checksum": {"name": "sha256", "checksum": "738b42569807cd2456a9a97689d8456efda1868dba061cacff6a525768402e83"}, "tags": [], "refs": [], "sources": [["jira", "priority"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__priority_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.825889, "compiled_sql": "\n\nselect * from \"postgres\".\"jira_source_integration_tests\".\"priority\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__priority_tmp\""}, "model.jira_source.stg_jira__component_tmp": {"raw_sql": "{{ config(enabled=var('jira_using_components', True)) }}\n\nselect * \nfrom {{ var('component') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.component"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__component_tmp"], "unique_id": "model.jira_source.stg_jira__component_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__component_tmp.sql", "original_file_path": "models/tmp/stg_jira__component_tmp.sql", "name": "stg_jira__component_tmp", "alias": "stg_jira__component_tmp", "checksum": {"name": "sha256", "checksum": "968da15f4a8dbb9e51d593dd0a95ff6081d5b2e3d8f0eb8daedaf2c283decd3c"}, "tags": [], "refs": [], "sources": [["jira", "component"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__component_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira", "enabled": true}, "created_at": 1663707520.8287911, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"jira_source_integration_tests\".\"component\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__component_tmp\""}, "model.jira_source.stg_jira__resolution_tmp": {"raw_sql": "select * \nfrom {{ var('resolution') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.jira_source.jira.resolution"]}, "config": {"enabled": true, "alias": null, "schema": "source_jira", "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": "jira_source_integration_tests_source_jira", "fqn": ["jira_source", "tmp", "stg_jira__resolution_tmp"], "unique_id": "model.jira_source.stg_jira__resolution_tmp", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "tmp/stg_jira__resolution_tmp.sql", "original_file_path": "models/tmp/stg_jira__resolution_tmp.sql", "name": "stg_jira__resolution_tmp", "alias": "stg_jira__resolution_tmp", "checksum": {"name": "sha256", "checksum": "4254df90446b8911d6664fb429ae20adfb05cfe415bed40e5563a5d5bb63786a"}, "tags": [], "refs": [], "sources": [["jira", "resolution"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/tmp/stg_jira__resolution_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "view", "schema": "source_jira"}, "created_at": 1663707520.832064, "compiled_sql": "select * \nfrom \"postgres\".\"jira_source_integration_tests\".\"resolution\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__resolution_tmp\""}, "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__comment_comment_id", "alias": "unique_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.883887, "compiled_sql": "\n \n \n\nselect\n comment_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__comment\"\nwhere comment_id is not null\ngroup by comment_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "comment_id", "model": "{{ get_where_subquery(ref('stg_jira__comment')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__comment"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__comment_comment_id"], "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__comment_comment_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__comment_comment_id", "alias": "not_null_stg_jira__comment_comment_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__comment"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__comment_comment_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.88512, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__comment\"\nwhere comment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "comment_id", "file_key_name": "models.stg_jira__comment"}, "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__component_component_id"], "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__component_component_id", "alias": "unique_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.886111, "compiled_sql": "\n \n \n\nselect\n component_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__component\"\nwhere component_id is not null\ngroup by component_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "component_id", "model": "{{ get_where_subquery(ref('stg_jira__component')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__component"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__component_component_id"], "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__component_component_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__component_component_id", "alias": "not_null_stg_jira__component_component_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__component"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__component_component_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.887172, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__component\"\nwhere component_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "component_id", "file_key_name": "models.stg_jira__component"}, "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__field_field_id"], "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__field_field_id", "alias": "unique_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.888139, "compiled_sql": "\n \n \n\nselect\n field_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field\"\nwhere field_id is not null\ngroup by field_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__field_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_field_id", "alias": "not_null_stg_jira__field_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.889205, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field\"\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field"}, "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "field_id", "model": "{{ get_where_subquery(ref('stg_jira__field_option')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__field_option"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__field_option_field_id"], "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__field_option_field_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__field_option_field_id", "alias": "not_null_stg_jira__field_option_field_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__field_option"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__field_option_field_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.890358, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__field_option\"\nwhere field_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "field_id", "file_key_name": "models.stg_jira__field_option"}, "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_issue_id", "alias": "unique_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.8913212, "compiled_sql": "\n \n \n\nselect\n issue_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue\"\nwhere issue_id is not null\ngroup by issue_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_id", "model": "{{ get_where_subquery(ref('stg_jira__issue')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_issue_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_issue_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_issue_id", "alias": "not_null_stg_jira__issue_issue_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_issue_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.892271, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue\"\nwhere issue_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_id", "file_key_name": "models.stg_jira__issue"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["field_id", "issue_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_field_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.jira_source.stg_jira__issue_field_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at", "alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_field_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ad5994a65a5d4b3bfa1a17202d1e378f"}, "created_at": 1663707520.8932428, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n field_id, issue_id, updated_at\n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_field_history\"\n group by field_id, issue_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_field_history"}, "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_id", "updated_at"], "model": "{{ get_where_subquery(ref('stg_jira__issue_multiselect_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.jira_source.stg_jira__issue_multiselect_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at"], "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "original_file_path": "models/stg_jira.yml", "name": "dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at", "alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_multiselect_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_69e37ee91ecaf0ffc104992c26624396"}, "created_at": 1663707520.900613, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_id, updated_at\n from \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_multiselect_history\"\n group by _fivetran_id, updated_at\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_jira__issue_multiselect_history"}, "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__issue_type_issue_type_id", "alias": "unique_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.903452, "compiled_sql": "\n \n \n\nselect\n issue_type_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_type\"\nwhere issue_type_id is not null\ngroup by issue_type_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "issue_type_id", "model": "{{ get_where_subquery(ref('stg_jira__issue_type')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__issue_type"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__issue_type_issue_type_id"], "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__issue_type_issue_type_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__issue_type_issue_type_id", "alias": "not_null_stg_jira__issue_type_issue_type_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__issue_type"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__issue_type_issue_type_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.904541, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__issue_type\"\nwhere issue_type_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "issue_type_id", "file_key_name": "models.stg_jira__issue_type"}, "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__priority_priority_id", "alias": "unique_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.905527, "compiled_sql": "\n \n \n\nselect\n priority_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__priority\"\nwhere priority_id is not null\ngroup by priority_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "priority_id", "model": "{{ get_where_subquery(ref('stg_jira__priority')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__priority"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__priority_priority_id"], "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__priority_priority_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__priority_priority_id", "alias": "not_null_stg_jira__priority_priority_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__priority"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__priority_priority_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.9065988, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__priority\"\nwhere priority_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "priority_id", "file_key_name": "models.stg_jira__priority"}, "test.jira_source.unique_stg_jira__project_project_id.58d321d374": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__project_project_id"], "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__project_project_id", "alias": "unique_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.907543, "compiled_sql": "\n \n \n\nselect\n project_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__project\"\nwhere project_id is not null\ngroup by project_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "project_id", "model": "{{ get_where_subquery(ref('stg_jira__project')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__project"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__project_project_id"], "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__project_project_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__project_project_id", "alias": "not_null_stg_jira__project_project_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__project"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__project_project_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.9084969, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__project\"\nwhere project_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "project_id", "file_key_name": "models.stg_jira__project"}, "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__resolution_resolution_id", "alias": "unique_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.909577, "compiled_sql": "\n \n \n\nselect\n resolution_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__resolution\"\nwhere resolution_id is not null\ngroup by resolution_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "resolution_id", "model": "{{ get_where_subquery(ref('stg_jira__resolution')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__resolution"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__resolution_resolution_id"], "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__resolution_resolution_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__resolution_resolution_id", "alias": "not_null_stg_jira__resolution_resolution_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__resolution"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__resolution_resolution_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.9105349, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__resolution\"\nwhere resolution_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "resolution_id", "file_key_name": "models.stg_jira__resolution"}, "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__sprint_sprint_id", "alias": "unique_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.911475, "compiled_sql": "\n \n \n\nselect\n sprint_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__sprint\"\nwhere sprint_id is not null\ngroup by sprint_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "sprint_id", "model": "{{ get_where_subquery(ref('stg_jira__sprint')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__sprint"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__sprint_sprint_id"], "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__sprint_sprint_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__sprint_sprint_id", "alias": "not_null_stg_jira__sprint_sprint_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__sprint"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__sprint_sprint_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.9124732, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__sprint\"\nwhere sprint_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "sprint_id", "file_key_name": "models.stg_jira__sprint"}, "test.jira_source.unique_stg_jira__status_status_id.0449241b95": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_status_id"], "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_status_id", "alias": "unique_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.913619, "compiled_sql": "\n \n \n\nselect\n status_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status\"\nwhere status_id is not null\ngroup by status_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_id", "model": "{{ get_where_subquery(ref('stg_jira__status')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_status_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__status_status_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_status_id", "alias": "not_null_stg_jira__status_status_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_status_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.9146261, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status\"\nwhere status_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_id", "file_key_name": "models.stg_jira__status"}, "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__status_category_status_category_id", "alias": "unique_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.915616, "compiled_sql": "\n \n \n\nselect\n status_category_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_category\"\nwhere status_category_id is not null\ngroup by status_category_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "status_category_id", "model": "{{ get_where_subquery(ref('stg_jira__status_category')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__status_category"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__status_category_status_category_id"], "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__status_category_status_category_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__status_category_status_category_id", "alias": "not_null_stg_jira__status_category_status_category_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__status_category"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__status_category_status_category_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.916688, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__status_category\"\nwhere status_category_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "status_category_id", "file_key_name": "models.stg_jira__status_category"}, "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__user_user_id"], "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__user_user_id", "alias": "unique_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.917653, "compiled_sql": "\n \n \n\nselect\n user_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__user\"\nwhere user_id is not null\ngroup by user_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "user_id", "model": "{{ get_where_subquery(ref('stg_jira__user')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__user"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__user_user_id"], "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__user_user_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__user_user_id", "alias": "not_null_stg_jira__user_user_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__user"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__user_user_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.918627, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__user\"\nwhere user_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "user_id", "file_key_name": "models.stg_jira__user"}, "test.jira_source.unique_stg_jira__version_version_id.08231bd017": {"raw_sql": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "unique_stg_jira__version_version_id"], "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "unique_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "unique_stg_jira__version_version_id", "alias": "unique_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/unique_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.9196, "compiled_sql": "\n \n \n\nselect\n version_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__version\"\nwhere version_id is not null\ngroup by version_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}, "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ get_where_subquery(ref('stg_jira__version')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.jira_source.stg_jira__version"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "jira_source_integration_tests_dbt_test__audit", "fqn": ["jira_source", "not_null_stg_jira__version_version_id"], "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "not_null_stg_jira__version_version_id.sql", "original_file_path": "models/stg_jira.yml", "name": "not_null_stg_jira__version_version_id", "alias": "not_null_stg_jira__version_version_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_jira__version"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/jira_source/models/stg_jira.yml/not_null_stg_jira__version_version_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1663707520.920737, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"jira_source_integration_tests_source_jira\".\"stg_jira__version\"\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id", "file_key_name": "models.stg_jira__version"}}, "sources": {"source.jira_source.jira.comment": {"fqn": ["jira_source", "jira", "comment"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.comment", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "comment", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "comment", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of comments made on issues.", "columns": {"id": {"name": "id", "description": "Unique ID of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "author_id": {"name": "author_id", "description": "Foreign key referencing the `user` id of the comment's author.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "body": {"name": "body", "description": "Content of the comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the comment was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_public": {"name": "is_public", "description": "Boolean that is true if the comment is visible to all users.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the id of the `issue` that was commented on.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "update_author_id": {"name": "update_author_id", "description": "Foreign key referencing the id of the `user` who last updated this comment.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the comment was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"comment\"", "created_at": 1663707520.950739}, "source.jira_source.jira.component": {"fqn": ["jira_source", "jira", "component"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.component", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "component", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "component", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project components (subsections to group issues).\n", "columns": {"id": {"name": "id", "description": "ID of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "UI-facing name of the component.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the id of the component's `project`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"component\"", "created_at": 1663707520.950839}, "source.jira_source.jira.field": {"fqn": ["jira_source", "jira", "field"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issue fields.", "columns": {"id": {"name": "id", "description": "Unique ID of the field. Default fields will have descriptive IDs, whereas custom field IDs will be `'customfield_#####'`.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_array": {"name": "is_array", "description": "Boolean that is true if a field can have multiple values (is mulitselect).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_custom": {"name": "is_custom", "description": "Boolean that is true if the field is custom to this organization, and false if it is default to Jira.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field as it appears on issue cards.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"field\"", "created_at": 1663707520.950908}, "source.jira_source.jira.field_option": {"fqn": ["jira_source", "jira", "field_option"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.field_option", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "field_option", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "field_option", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all options related to custom fields.", "columns": {"id": {"name": "id", "description": "The ID of the custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "The ID of the parent custom field.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the field option.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"field_option\"", "created_at": 1663707520.950974}, "source.jira_source.jira.issue": {"fqn": ["jira_source", "jira", "issue"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all issues in your organization's Jira (captures soft deletes).", "columns": {"id": {"name": "id", "description": "Unique ID of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean that is true if the row has been soft-deleted from the source.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "assignee": {"name": "assignee", "description": "Foreign key referencing the ID of the `user` currently assigned to this task.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created": {"name": "created", "description": "Timestamp of when the issue was created (in UTC).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creator": {"name": "creator", "description": "Foreign key referencing the `user` who first created the issue. Cannot be changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The issue description, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Calendar day on which the issue is due, if a due date is provided.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "environment": {"name": "environment", "description": "Text field describing the environment in which the issue occurred (ie \"IE9 on Windows 7\").", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_type": {"name": "issue_type", "description": "Foreign key referencing the ID of the `issue_type`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing id of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "last_viewed": {"name": "last_viewed", "description": "Timestamp of when the user who set up the connector last viewed the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "original_estimate": {"name": "original_estimate", "description": "The original estimate of how long working on this issue would take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_id": {"name": "parent_id", "description": "Self-referencing ID of the parent `issue`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "priority": {"name": "priority", "description": "Foreign key referencing the ID of the issue's current `priority`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project": {"name": "project", "description": "Foreign key referencing the ID of the `project` that the issue belongs to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "remaining_estimate": {"name": "remaining_estimate", "description": "The estimate of how much longer working on this issue will take, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "reporter": {"name": "reporter", "description": "Foreign key referencing the ID of the `user` who reported the issue. This differs from the `creator` column in that the reporter can be changed in-app.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolution": {"name": "resolution", "description": "Foreign key referencing the ID of the issue's type of `resolution`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "resolved": {"name": "resolved", "description": "Timestamp of when the issue was resolved (ie completed, marked as duplicate). If an issue is marked as un-resolved, this is null.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Foreign key referencing the ID of the issue's `status` (the step that the issue is currently at in the project's workflow).\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_changed": {"name": "status_category_changed", "description": "Timestamp of when the status was last changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "summary": {"name": "summary", "description": "Title of the issue.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_spent": {"name": "time_spent", "description": "The time that was spent working on this issue, in seconds.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated": {"name": "updated", "description": "Timestamp of when the issue was last updated in some way.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "work_ratio": {"name": "work_ratio", "description": "The percentage of work that has been logged against the issue (time_spent) vs the original estimate of worktime. Equals -1.0 when the fields required for calculation are not provided.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue\"", "created_at": 1663707520.95106}, "source.jira_source.jira.issue_field_history": {"fqn": ["jira_source", "jira", "issue_field_history"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_field_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_field_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_field_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each **custom non-array** (not multiselect) field has been set to.", "columns": {"field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was set to this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_field_history\"", "created_at": 1663707520.9511209}, "source.jira_source.jira.issue_link": {"fqn": ["jira_source", "jira", "issue_link"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_link", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_link", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_link", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of relationships (links) created between issues. Issue links can include blockers, clones/duplicates, and general relationships.\n", "columns": {"issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` that is the subject of this relationship (the linker).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "related_issue_id": {"name": "related_issue_id", "description": "Foreign key referencing the ID of the `issue` that is the object of this relationship (the linkee).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "relationship": {"name": "relationship", "description": "The nature of the link between the two issues (\"blocks\", \"is duplicated by\", \"relates to\", etc.)", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_link\"", "created_at": 1663707520.9511821}, "source.jira_source.jira.issue_multiselect_history": {"fqn": ["jira_source", "jira", "issue_multiselect_history"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_multiselect_history", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_multiselect_history", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_multiselect_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of every value that each array-type (multiselect) field has been set to. Each row will pertain to **one** value.\n", "columns": {"_fivetran_id": {"name": "_fivetran_id", "description": "Fivetran-generated ID hashed on field, issue, and value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time": {"name": "time", "description": "Timestamp of when the issue field was updated to included this value.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "field_id": {"name": "field_id", "description": "Foreign key referencing the ID of the `field` that was changed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "issue_id": {"name": "issue_id", "description": "Foreign key referencing the ID of the `issue` whose field was updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "Content of the value of that the field was set to.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_multiselect_history\"", "created_at": 1663707520.951243}, "source.jira_source.jira.issue_type": {"fqn": ["jira_source", "jira", "issue_type"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.issue_type", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "issue_type", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "issue_type", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing information about issue types. Issue types can have identical names in different projects, but they may have differing descriptions.\n", "columns": {"id": {"name": "id", "description": "Unique ID of the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Project-level description given to the issue type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the issue type (ie Epic, Task, Subtask, any custom types)", "meta": {}, "data_type": null, "quote": null, "tags": []}, "subtask": {"name": "subtask", "description": "Boolean that is true if this type of issue is a subtask.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"issue_type\"", "created_at": 1663707520.951335}, "source.jira_source.jira.priority": {"fqn": ["jira_source", "jira", "priority"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.priority", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "priority", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "priority", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of issue priority levels (global).", "columns": {"id": {"name": "id", "description": "Unique ID of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the priority level.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the priority as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"priority\"", "created_at": 1663707520.9513931}, "source.jira_source.jira.project": {"fqn": ["jira_source", "jira", "project"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.project", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "project", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "project", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all projects in your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project, if given.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "key": {"name": "key", "description": "UI-facing ID of the project. This becomes the default prefix for tasks created within this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "lead_id": {"name": "lead_id", "description": "Foreign key referencing the ID of the `user` who leads this project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the project.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "permission_scheme_id": {"name": "permission_scheme_id", "description": "Foreign key referencing the ID of the `permission_scheme` that the project ascribes to.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_category_id": {"name": "project_category_id", "description": "Foreign key referencing the ID of the `project_category` that the project is associated with, if any.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_type_key": {"name": "project_type_key", "description": "ID of the type of project (ie 'software').", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"project\"", "created_at": 1663707520.9514549}, "source.jira_source.jira.resolution": {"fqn": ["jira_source", "jira", "resolution"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.resolution", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "resolution", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "resolution", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table storing the types of resolutions used by your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the resolution type.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Display name of the resolution.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"resolution\"", "created_at": 1663707520.951515}, "source.jira_source.jira.sprint": {"fqn": ["jira_source", "jira", "sprint"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.sprint", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "sprint", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "sprint", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of all sprints.", "columns": {"id": {"name": "id", "description": "Unique ID of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "board_id": {"name": "board_id", "description": "Foreign key referencing the ID of the `board` that the sprint lives in.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "complete_date": {"name": "complete_date", "description": "Timestamp of when the sprint was completed.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_date": {"name": "end_date", "description": "Timestamp of when the sprint is planned to end.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the sprint.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "Timestamp of when the sprint began.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"sprint\"", "created_at": 1663707520.951575}, "source.jira_source.jira.status": {"fqn": ["jira_source", "jira", "status"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project-level statuses (which may have the same umbrella `status_category`).", "columns": {"id": {"name": "id", "description": "Unique ID of the project status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the project status. Different projects may all have a status called \"Backlog\", but their definitions of \"backlog\" may differ.\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status_category_id": {"name": "status_category_id", "description": "Foreign key referencing the ID of the `status_category` that this project status falls under.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"status\"", "created_at": 1663707520.9516318}, "source.jira_source.jira.status_category": {"fqn": ["jira_source", "jira", "status_category"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.status_category", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "status_category", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "status_category", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of overarching status categories.", "columns": {"id": {"name": "id", "description": "Unique ID of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Title of the status category.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"status_category\"", "created_at": 1663707520.951686}, "source.jira_source.jira.user": {"fqn": ["jira_source", "jira", "user"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.user", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "user", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "user", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of users associated with your organization.", "columns": {"id": {"name": "id", "description": "Unique ID of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "email": {"name": "email", "description": "Email associated with the user account.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "locale": {"name": "locale", "description": "The Java locale of the user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the user as it appears in the UI.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "time_zone": {"name": "time_zone", "description": "The user's timezone, as defined in their settings.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "username": {"name": "username", "description": "Account username.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"user\"", "created_at": 1663707520.951746}, "source.jira_source.jira.version": {"fqn": ["jira_source", "jira", "version"], "database": "postgres", "schema": "jira_source_integration_tests", "unique_id": "source.jira_source.jira.version", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "models/src_jira.yml", "original_file_path": "models/src_jira.yml", "name": "version", "source_name": "jira", "source_description": "", "loader": "fivetran", "identifier": "version", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 72, "period": "hour"}, "error_after": {"count": 96, "period": "hour"}, "filter": null}, "external": null, "description": "Table of project versions in your organization.", "columns": {"archived": {"name": "archived", "description": "Boolean that is true if the project version has been archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "description": {"name": "description", "description": "The optional description given to the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "id": {"name": "id", "description": "Unique ID of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Unique name of the version.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "overdue": {"name": "overdue", "description": "Boolean that is true if the version is past its optional release date, false if it is not or if it does not have a due date.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "project_id": {"name": "project_id", "description": "Foreign key referencing the `PROJECT` to which this version is attached.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "release_date": {"name": "release_date", "description": "The optional release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}, "released": {"name": "released", "description": "Boolean that is true if the version has been released. If the version is released a request to release again is ignored", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_date": {"name": "start_date", "description": "The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd).", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"jira_source_integration_tests\".\"version\"", "created_at": 1663707520.951808}}, "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": 1663707520.114923}, "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": 1663707520.1156092}, "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": 1663707520.120827}, "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": 1663707520.121324}, "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": 1663707520.121639}, "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": 1663707520.12195}, "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": 1663707520.1224241}, "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": 1663707520.1227882}, "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": 1663707520.1229582}, "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": 1663707520.123298}, "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": 1663707520.123687}, "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": 1663707520.123766}, "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": 1663707520.1239412}, "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": 1663707520.124042}, "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": 1663707520.124925}, "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": 1663707520.125344}, "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": 1663707520.125566}, "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": 1663707520.126156}, "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": 1663707520.1269288}, "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": 1663707520.128063}, "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": 1663707520.128255}, "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": 1663707520.128397}, "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": 1663707520.128534}, "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": 1663707520.12867}, "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": 1663707520.1290948}, "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": 1663707520.129386}, "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": 1663707520.129689}, "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": 1663707520.1301708}, "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": 1663707520.130429}, "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": 1663707520.133621}, "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": 1663707520.133792}, "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": 1663707520.134002}, "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": 1663707520.1341388}, "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": 1663707520.134232}, "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": 1663707520.1350012}, "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": 1663707520.1351612}, "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": 1663707520.135322}, "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": 1663707520.136286}, "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": 1663707520.138098}, "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": 1663707520.141242}, "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": 1663707520.14154}, "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": 1663707520.141712}, "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": 1663707520.1418009}, "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": 1663707520.142001}, "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": 1663707520.142864}, "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": 1663707520.143052}, "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": 1663707520.143308}, "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": 1663707520.14374}, "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": 1663707520.149517}, "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": 1663707520.151664}, "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": 1663707520.15222}, "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": 1663707520.15253}, "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": 1663707520.152979}, "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": 1663707520.153365}, "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": 1663707520.1542132}, "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": 1663707520.1547468}, "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": 1663707520.15535}, "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": 1663707520.1580648}, "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": 1663707520.1592069}, "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": 1663707520.159445}, "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": 1663707520.1598542}, "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": 1663707520.1601112}, "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": 1663707520.1607292}, "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": 1663707520.161429}, "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": 1663707520.166195}, "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": 1663707520.170825}, "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": 1663707520.172029}, "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": 1663707520.173205}, "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": 1663707520.1739168}, "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": 1663707520.177536}, "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": 1663707520.1780212}, "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": 1663707520.178242}, "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": 1663707520.1784692}, "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": 1663707520.178886}, "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": 1663707520.1824682}, "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": 1663707520.182848}, "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": 1663707520.18307}, "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": 1663707520.184293}, "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": 1663707520.184701}, "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": 1663707520.1848588}, "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": 1663707520.185044}, "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": 1663707520.1852958}, "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": 1663707520.1880598}, "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": 1663707520.191943}, "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": 1663707520.1928241}, "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": 1663707520.193053}, "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": 1663707520.193516}, "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": 1663707520.193653}, "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": 1663707520.193761}, "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": 1663707520.193911}, "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": 1663707520.1940181}, "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": 1663707520.194485}, "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": 1663707520.194726}, "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": 1663707520.1959271}, "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": 1663707520.196377}, "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": 1663707520.196596}, "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": 1663707520.1971579}, "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": 1663707520.197408}, "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": 1663707520.197684}, "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": 1663707520.1981409}, "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": 1663707520.198383}, "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": 1663707520.198785}, "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": 1663707520.199022}, "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": 1663707520.199327}, "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": 1663707520.199928}, "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": 1663707520.201059}, "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": 1663707520.201632}, "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": 1663707520.20192}, "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": 1663707520.203649}, "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": 1663707520.204884}, "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": 1663707520.205617}, "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": 1663707520.205844}, "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": 1663707520.2062771}, "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": 1663707520.206455}, "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": 1663707520.206621}, "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": 1663707520.206794}, "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": 1663707520.207294}, "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": 1663707520.207428}, "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": 1663707520.2075799}, "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": 1663707520.2079701}, "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": 1663707520.209525}, "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": 1663707520.209822}, "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": 1663707520.210001}, "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": 1663707520.210211}, "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": 1663707520.210392}, "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": 1663707520.210546}, "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": 1663707520.210743}, "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": 1663707520.211018}, "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": 1663707520.211267}, "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": 1663707520.211883}, "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": 1663707520.212105}, "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": 1663707520.2122922}, "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": 1663707520.212794}, "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": 1663707520.2129338}, "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": 1663707520.21316}, "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": 1663707520.2135732}, "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": 1663707520.2142668}, "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": 1663707520.214439}, "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": 1663707520.214638}, "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": 1663707520.214814}, "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": 1663707520.2150872}, "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": 1663707520.215604}, "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": 1663707520.2170172}, "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": 1663707520.217279}, "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": 1663707520.217464}, "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": 1663707520.217612}, "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": 1663707520.217789}, "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": 1663707520.218028}, "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": 1663707520.218229}, "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": 1663707520.2185972}, "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": 1663707520.2187781}, "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": 1663707520.218936}, "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": 1663707520.2206159}, "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": 1663707520.220771}, "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": 1663707520.221075}, "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": 1663707520.221261}, "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": 1663707520.2215948}, "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": 1663707520.2218208}, "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": 1663707520.222424}, "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": 1663707520.222688}, "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": 1663707520.223447}, "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": 1663707520.224003}, "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": 1663707520.224225}, "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": 1663707520.2245069}, "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": 1663707520.224777}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2250938}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.225166}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2252328}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.225635}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.225792}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2260962}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2262871}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.227031}, "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/jira/dbt_jira_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": 1663707520.227102}, "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/jira/dbt_jira_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": 1663707520.2271738}, "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/jira/dbt_jira_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": 1663707520.227242}, "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/jira/dbt_jira_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": 1663707520.2273128}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.227468}, "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/jira/dbt_jira_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": 1663707520.227535}, "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/jira/dbt_jira_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": 1663707520.227602}, "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/jira/dbt_jira_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": 1663707520.227665}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2278159}, "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/jira/dbt_jira_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": 1663707520.227886}, "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/jira/dbt_jira_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": 1663707520.227951}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.228103}, "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/jira/dbt_jira_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": 1663707520.228174}, "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/jira/dbt_jira_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": 1663707520.228239}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.228395}, "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/jira/dbt_jira_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": 1663707520.2284648}, "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/jira/dbt_jira_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": 1663707520.228529}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2287428}, "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/jira/dbt_jira_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": 1663707520.2288141}, "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/jira/dbt_jira_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": 1663707520.22888}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2293818}, "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/jira/dbt_jira_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": 1663707520.229833}, "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/jira/dbt_jira_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": 1663707520.229973}, "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/jira/dbt_jira_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": 1663707520.2302778}, "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/jira/dbt_jira_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": 1663707520.2304142}, "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/jira/dbt_jira_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": 1663707520.23051}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.230861}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.230963}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.231057}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.231652}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.231812}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.231977}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2321348}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.232343}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.232697}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.232785}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.232876}, "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/jira/dbt_jira_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": 1663707520.2333179}, "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/jira/dbt_jira_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": 1663707520.233472}, "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/jira/dbt_jira_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": 1663707520.233692}, "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/jira/dbt_jira_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": 1663707520.233823}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.234418}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2345521}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.234705}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.234854}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.237056}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.237461}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.237757}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2381618}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.23909}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.241668}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2418299}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2419908}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.243818}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2440221}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.244489}, "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/jira/dbt_jira_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": 1663707520.244631}, "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/jira/dbt_jira_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": 1663707520.2447538}, "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/jira/dbt_jira_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": 1663707520.244874}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.245226}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.245358}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2454872}, "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/jira/dbt_jira_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": 1663707520.24586}, "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/jira/dbt_jira_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": 1663707520.245996}, "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/jira/dbt_jira_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": 1663707520.246123}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.246639}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.246741}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.246835}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.247187}, "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/jira/dbt_jira_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": 1663707520.2472892}, "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/jira/dbt_jira_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": 1663707520.2473931}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.247819}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2479591}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2480881}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.248489}, "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/jira/dbt_jira_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": 1663707520.248599}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.249244}, "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/jira/dbt_jira_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": 1663707520.2493582}, "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/jira/dbt_jira_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": 1663707520.24943}, "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/jira/dbt_jira_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": 1663707520.2494972}, "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/jira/dbt_jira_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": 1663707520.249654}, "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/jira/dbt_jira_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": 1663707520.249761}, "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/jira/dbt_jira_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": 1663707520.249901}, "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/jira/dbt_jira_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": 1663707520.2500072}, "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/jira/dbt_jira_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": 1663707520.2501361}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2515578}, "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/jira/dbt_jira_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": 1663707520.252018}, "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/jira/dbt_jira_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": 1663707520.252484}, "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/jira/dbt_jira_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": 1663707520.252674}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.2531142}, "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/jira/dbt_jira_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": 1663707520.2532392}, "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/jira/dbt_jira_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": 1663707520.253361}, "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/jira/dbt_jira_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": 1663707520.253495}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.253877}, "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/jira/dbt_jira_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": 1663707520.253974}, "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/jira/dbt_jira_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": 1663707520.2541409}, "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/jira/dbt_jira_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": 1663707520.254236}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.254826}, "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/jira/dbt_jira_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": 1663707520.25509}, "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/jira/dbt_jira_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": 1663707520.255234}, "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/jira/dbt_jira_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": 1663707520.255618}, "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/jira/dbt_jira_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": 1663707520.2557921}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.257477}, "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/jira/dbt_jira_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": 1663707520.2576692}, "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/jira/dbt_jira_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": 1663707520.257909}, "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/jira/dbt_jira_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": 1663707520.25825}, "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/jira/dbt_jira_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": 1663707520.258584}, "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/jira/dbt_jira_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": 1663707520.258941}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.259565}, "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/jira/dbt_jira_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": 1663707520.259706}, "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/jira/dbt_jira_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": 1663707520.259837}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.260444}, "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/jira/dbt_jira_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": 1663707520.260695}, "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/jira/dbt_jira_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": 1663707520.260832}, "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/jira/dbt_jira_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": 1663707520.260961}, "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/jira/dbt_jira_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": 1663707520.2610939}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.262081}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.262513}, "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/jira/dbt_jira_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": 1663707520.262644}, "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/jira/dbt_jira_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": 1663707520.26285}, "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/jira/dbt_jira_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": 1663707520.263032}, "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/jira/dbt_jira_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": 1663707520.268576}, "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/jira/dbt_jira_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": 1663707520.269103}, "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/jira/dbt_jira_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": 1663707520.2694159}, "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/jira/dbt_jira_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": 1663707520.2699142}, "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/jira/dbt_jira_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": 1663707520.27533}, "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/jira/dbt_jira_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": 1663707520.275855}, "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/jira/dbt_jira_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": 1663707520.2763462}, "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/jira/dbt_jira_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": 1663707520.276886}, "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/jira/dbt_jira_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": 1663707520.2775428}, "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/jira/dbt_jira_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": 1663707520.277927}, "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/jira/dbt_jira_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": 1663707520.278253}, "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/jira/dbt_jira_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": 1663707520.278867}, "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/jira/dbt_jira_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": 1663707520.279095}, "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/jira/dbt_jira_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": 1663707520.279556}, "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/jira/dbt_jira_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": 1663707520.279852}, "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/jira/dbt_jira_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": 1663707520.28059}, "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/jira/dbt_jira_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": 1663707520.280931}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.281408}, "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/jira/dbt_jira_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": 1663707520.281743}, "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/jira/dbt_jira_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": 1663707520.2821178}, "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/jira/dbt_jira_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": 1663707520.28229}, "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/jira/dbt_jira_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": 1663707520.282942}, "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/jira/dbt_jira_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": 1663707520.2835}, "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/jira/dbt_jira_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": 1663707520.284095}, "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/jira/dbt_jira_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": 1663707520.2845042}, "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/jira/dbt_jira_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": 1663707520.284984}, "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/jira/dbt_jira_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": 1663707520.285153}, "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/jira/dbt_jira_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": 1663707520.2855349}, "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/jira/dbt_jira_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": 1663707520.2857091}, "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/jira/dbt_jira_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": 1663707520.286356}, "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/jira/dbt_jira_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": 1663707520.286988}, "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/jira/dbt_jira_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": 1663707520.287593}, "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/jira/dbt_jira_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": 1663707520.287947}, "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/jira/dbt_jira_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": 1663707520.288477}, "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/jira/dbt_jira_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": 1663707520.2887769}, "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/jira/dbt_jira_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": 1663707520.289262}, "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/jira/dbt_jira_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": 1663707520.289784}, "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/jira/dbt_jira_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": 1663707520.290468}, "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/jira/dbt_jira_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": 1663707520.2911549}, "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/jira/dbt_jira_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": 1663707520.2916281}, "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/jira/dbt_jira_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": 1663707520.291796}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.292572}, "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/jira/dbt_jira_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": 1663707520.293458}, "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/jira/dbt_jira_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": 1663707520.2964969}, "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/jira/dbt_jira_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": 1663707520.297994}, "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/jira/dbt_jira_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": 1663707520.2984169}, "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/jira/dbt_jira_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": 1663707520.298583}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.298955}, "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/jira/dbt_jira_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": 1663707520.2991621}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.299507}, "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/jira/dbt_jira_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": 1663707520.299681}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.300218}, "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/jira/dbt_jira_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": 1663707520.30096}, "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/jira/dbt_jira_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": 1663707520.301545}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.301779}, "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/jira/dbt_jira_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": 1663707520.302132}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.302516}, "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/jira/dbt_jira_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": 1663707520.3029492}, "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/jira/dbt_jira_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": 1663707520.303669}, "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/jira/dbt_jira_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": 1663707520.3045208}, "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/jira/dbt_jira_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": 1663707520.30538}, "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/jira/dbt_jira_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": 1663707520.305828}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.306018}, "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/jira/dbt_jira_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": 1663707520.30653}, "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/jira/dbt_jira_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": 1663707520.307251}, "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/jira/dbt_jira_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": 1663707520.308115}, "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/jira/dbt_jira_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": 1663707520.308604}, "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/jira/dbt_jira_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": 1663707520.308885}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3096142}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.31058}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3122828}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3144078}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3169138}, "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/jira/dbt_jira_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": 1663707520.320013}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.320447}, "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/jira/dbt_jira_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": 1663707520.320707}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.323115}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.323331}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3235478}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.323744}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.323903}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.324071}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3246999}, "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/jira/dbt_jira_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": 1663707520.325611}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3260522}, "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/jira/dbt_jira_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": 1663707520.3263261}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.326717}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.327044}, "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/jira/dbt_jira_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": 1663707520.328578}, "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/jira/dbt_jira_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": 1663707520.328866}, "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/jira/dbt_jira_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": 1663707520.329752}, "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/jira/dbt_jira_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": 1663707520.33032}, "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/jira/dbt_jira_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": 1663707520.331656}, "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/jira/dbt_jira_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": 1663707520.3332858}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3344882}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3353531}, "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/jira/dbt_jira_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": 1663707520.3359108}, "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/jira/dbt_jira_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": 1663707520.336709}, "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/jira/dbt_jira_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": 1663707520.337209}, "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/jira/dbt_jira_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": 1663707520.3378282}, "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/jira/dbt_jira_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": 1663707520.338364}, "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/jira/dbt_jira_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": 1663707520.3384562}, "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/jira/dbt_jira_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": 1663707520.33855}, "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/jira/dbt_jira_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": 1663707520.338636}, "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/jira/dbt_jira_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": 1663707520.339732}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.34002}, "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/jira/dbt_jira_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": 1663707520.340599}, "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/jira/dbt_jira_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": 1663707520.341519}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3420138}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.343019}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.34319}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.34335}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3435462}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.343688}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3438458}, "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/jira/dbt_jira_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": 1663707520.3443909}, "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/jira/dbt_jira_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": 1663707520.3451571}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3462489}, "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/jira/dbt_jira_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": 1663707520.3465111}, "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/jira/dbt_jira_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": 1663707520.346766}, "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/jira/dbt_jira_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": 1663707520.3470101}, "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/jira/dbt_jira_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": 1663707520.347268}, "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/jira/dbt_jira_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": 1663707520.34753}, "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/jira/dbt_jira_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": 1663707520.347799}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3481941}, "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/jira/dbt_jira_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": 1663707520.3482912}, "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/jira/dbt_jira_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": 1663707520.348387}, "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/jira/dbt_jira_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": 1663707520.348565}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.349034}, "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/jira/dbt_jira_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": 1663707520.349953}, "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/jira/dbt_jira_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": 1663707520.350718}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.351247}, "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/jira/dbt_jira_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": 1663707520.3513799}, "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/jira/dbt_jira_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": 1663707520.35151}, "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/jira/dbt_jira_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": 1663707520.3516412}, "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/jira/dbt_jira_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": 1663707520.351777}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.35456}, "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/jira/dbt_jira_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": 1663707520.3547242}, "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/jira/dbt_jira_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": 1663707520.354882}, "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/jira/dbt_jira_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": 1663707520.355032}, "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/jira/dbt_jira_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": 1663707520.356801}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.357669}, "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/jira/dbt_jira_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": 1663707520.357811}, "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/jira/dbt_jira_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": 1663707520.358096}, "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/jira/dbt_jira_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": 1663707520.35842}, "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/jira/dbt_jira_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": 1663707520.358572}, "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/jira/dbt_jira_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": 1663707520.3587048}, "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/jira/dbt_jira_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": 1663707520.35884}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3594959}, "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/jira/dbt_jira_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": 1663707520.360121}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3608372}, "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/jira/dbt_jira_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": 1663707520.361058}, "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/jira/dbt_jira_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": 1663707520.361295}, "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/jira/dbt_jira_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": 1663707520.361681}, "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/jira/dbt_jira_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": 1663707520.362623}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.366695}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.367058}, "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/jira/dbt_jira_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": 1663707520.367529}, "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/jira/dbt_jira_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": 1663707520.369281}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3699222}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.370674}, "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/jira/dbt_jira_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": 1663707520.370841}, "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/jira/dbt_jira_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": 1663707520.370989}, "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/jira/dbt_jira_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": 1663707520.371159}, "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/jira/dbt_jira_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": 1663707520.371306}, "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/jira/dbt_jira_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": 1663707520.371455}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.37221}, "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/jira/dbt_jira_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": 1663707520.3733592}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.374253}, "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/jira/dbt_jira_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": 1663707520.374421}, "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/jira/dbt_jira_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": 1663707520.37458}, "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/jira/dbt_jira_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": 1663707520.374742}, "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/jira/dbt_jira_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": 1663707520.3748941}, "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/jira/dbt_jira_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": 1663707520.375062}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.3754072}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.375508}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.375604}, "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/jira/dbt_jira_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": 1663707520.3767328}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.378021}, "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/jira/dbt_jira_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": 1663707520.379839}, "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/jira/dbt_jira_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": 1663707520.3814259}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_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": 1663707520.381763}, "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/jira/dbt_jira_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": 1663707520.3818638}, "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/jira/dbt_jira_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": 1663707520.3819609}, "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/jira/dbt_jira_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": 1663707520.382425}, "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/jira/dbt_jira_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": 1663707520.382907}, "macro.jira_source.get_issue_link_columns": {"unique_id": "macro.jira_source.get_issue_link_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_link_columns.sql", "original_file_path": "macros/get_issue_link_columns.sql", "name": "get_issue_link_columns", "macro_sql": "{% macro get_issue_link_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"related_issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"relationship\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.3835762}, "macro.jira_source.get_issue_columns": {"unique_id": "macro.jira_source.get_issue_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_columns.sql", "original_file_path": "macros/get_issue_columns.sql", "name": "get_issue_columns", "macro_sql": "{% macro get_issue_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"_original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"_time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"assignee\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creator\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"environment\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"issue_type\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n\n {\"name\": \"original_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"priority\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"remaining_estimate\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"reporter\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"resolution\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"resolved\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"status_category_changed\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_spent\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"updated\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"work_ratio\", \"datatype\": dbt_utils.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_float", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.386827}, "macro.jira_source.get_status_columns": {"unique_id": "macro.jira_source.get_status_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_status_columns.sql", "original_file_path": "macros/get_status_columns.sql", "name": "get_status_columns", "macro_sql": "{% macro get_status_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.3876312}, "macro.jira_source.get_status_category_columns": {"unique_id": "macro.jira_source.get_status_category_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_status_category_columns.sql", "original_file_path": "macros/get_status_category_columns.sql", "name": "get_status_category_columns", "macro_sql": "{% macro get_status_category_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.388213}, "macro.jira_source.get_issue_field_history_columns": {"unique_id": "macro.jira_source.get_issue_field_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_field_history_columns.sql", "original_file_path": "macros/get_issue_field_history_columns.sql", "name": "get_issue_field_history_columns", "macro_sql": "{% macro get_issue_field_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1663707520.389654}, "macro.jira_source.get_comment_columns": {"unique_id": "macro.jira_source.get_comment_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_comment_columns.sql", "original_file_path": "macros/get_comment_columns.sql", "name": "get_comment_columns", "macro_sql": "{% macro get_comment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"body\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"is_public\", \"datatype\": \"boolean\"},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"update_author_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated\", \"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", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.390817}, "macro.jira_source.get_field_columns": {"unique_id": "macro.jira_source.get_field_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_field_columns.sql", "original_file_path": "macros/get_field_columns.sql", "name": "get_field_columns", "macro_sql": "{% macro get_field_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_array\", \"datatype\": \"boolean\"},\n {\"name\": \"is_custom\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.391547}, "macro.jira_source.get_version_columns": {"unique_id": "macro.jira_source.get_version_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_version_columns.sql", "original_file_path": "macros/get_version_columns.sql", "name": "get_version_columns", "macro_sql": "{% macro get_version_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"overdue\", \"datatype\": \"boolean\"},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"release_date\", \"datatype\": \"date\"},\n {\"name\": \"released\", \"datatype\": \"boolean\"},\n {\"name\": \"start_date\", \"datatype\": \"date\"}\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": 1663707520.3928041}, "macro.jira_source.get_field_option_columns": {"unique_id": "macro.jira_source.get_field_option_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_field_option_columns.sql", "original_file_path": "macros/get_field_option_columns.sql", "name": "get_field_option_columns", "macro_sql": "{% macro get_field_option_columns() %}\n\n{% set columns = [\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"parent_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_int", "macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.393522}, "macro.jira_source.get_issue_multiselect_history_columns": {"unique_id": "macro.jira_source.get_issue_multiselect_history_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_multiselect_history_columns.sql", "original_file_path": "macros/get_issue_multiselect_history_columns.sql", "name": "get_issue_multiselect_history_columns", "macro_sql": "{% macro get_issue_multiselect_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\": \"field_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"issue_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"value\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{% if target.type == 'redshift' %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% elif target.type == 'snowflake' %}\n {{ columns.append( {\"name\": \"TIME\", \"datatype\": dbt_utils.type_timestamp(), \"quote\": True } ) }}\n{% else %}\n {{ columns.append( {\"name\": \"time\", \"datatype\": dbt_utils.type_timestamp()} ) }}\n{% endif %}\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": 1663707520.394971}, "macro.jira_source.get_epic_columns": {"unique_id": "macro.jira_source.get_epic_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_epic_columns.sql", "original_file_path": "macros/get_epic_columns.sql", "name": "get_epic_columns", "macro_sql": "{% macro get_epic_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"done\", \"datatype\": \"boolean\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"summary\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.395809}, "macro.jira_source.get_issue_type_columns": {"unique_id": "macro.jira_source.get_issue_type_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_issue_type_columns.sql", "original_file_path": "macros/get_issue_type_columns.sql", "name": "get_issue_type_columns", "macro_sql": "{% macro get_issue_type_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"subtask\", \"datatype\": \"boolean\"}\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": 1663707520.3965561}, "macro.jira_source.get_user_columns": {"unique_id": "macro.jira_source.get_user_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_user_columns.sql", "original_file_path": "macros/get_user_columns.sql", "name": "get_user_columns", "macro_sql": "{% macro get_user_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"email\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"locale\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"time_zone\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"username\", \"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": 1663707520.397491}, "macro.jira_source.get_project_columns": {"unique_id": "macro.jira_source.get_project_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_project_columns.sql", "original_file_path": "macros/get_project_columns.sql", "name": "get_project_columns", "macro_sql": "{% macro get_project_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"key\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"lead_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"permission_scheme_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"project_category_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.3986719}, "macro.jira_source.get_resolution_columns": {"unique_id": "macro.jira_source.get_resolution_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_resolution_columns.sql", "original_file_path": "macros/get_resolution_columns.sql", "name": "get_resolution_columns", "macro_sql": "{% macro get_resolution_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.399408}, "macro.jira_source.get_component_columns": {"unique_id": "macro.jira_source.get_component_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_component_columns.sql", "original_file_path": "macros/get_component_columns.sql", "name": "get_component_columns", "macro_sql": "{% macro get_component_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"project_id\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.40017}, "macro.jira_source.get_priority_columns": {"unique_id": "macro.jira_source.get_priority_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_priority_columns.sql", "original_file_path": "macros/get_priority_columns.sql", "name": "get_priority_columns", "macro_sql": "{% macro get_priority_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.400828}, "macro.jira_source.get_sprint_columns": {"unique_id": "macro.jira_source.get_sprint_columns", "package_name": "jira_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/jira/dbt_jira_source/integration_tests/dbt_packages/jira_source", "path": "macros/get_sprint_columns.sql", "original_file_path": "macros/get_sprint_columns.sql", "name": "get_sprint_columns", "macro_sql": "{% macro get_sprint_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"board_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"complete_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_date\", \"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_int", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1663707520.401841}}, "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"}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["model.jira_source.stg_jira__comment_tmp", "model.jira_source.stg_jira__comment_tmp"], "model.jira_source.stg_jira__project": ["model.jira_source.stg_jira__project_tmp", "model.jira_source.stg_jira__project_tmp"], "model.jira_source.stg_jira__issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp", "model.jira_source.stg_jira__issue_field_history_tmp"], "model.jira_source.stg_jira__version": ["model.jira_source.stg_jira__version_tmp", "model.jira_source.stg_jira__version_tmp"], "model.jira_source.stg_jira__sprint": ["model.jira_source.stg_jira__sprint_tmp", "model.jira_source.stg_jira__sprint_tmp"], "model.jira_source.stg_jira__field_option": ["model.jira_source.stg_jira__field_option_tmp", "model.jira_source.stg_jira__field_option_tmp"], "model.jira_source.stg_jira__field": ["model.jira_source.stg_jira__field_tmp", "model.jira_source.stg_jira__field_tmp"], "model.jira_source.stg_jira__resolution": ["model.jira_source.stg_jira__resolution_tmp", "model.jira_source.stg_jira__resolution_tmp"], "model.jira_source.stg_jira__status": ["model.jira_source.stg_jira__status_tmp", "model.jira_source.stg_jira__status_tmp"], "model.jira_source.stg_jira__issue": ["model.jira_source.stg_jira__issue_tmp", "model.jira_source.stg_jira__issue_tmp"], "model.jira_source.stg_jira__status_category": ["model.jira_source.stg_jira__status_category_tmp", "model.jira_source.stg_jira__status_category_tmp"], "model.jira_source.stg_jira__issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp", "model.jira_source.stg_jira__issue_multiselect_history_tmp"], "model.jira_source.stg_jira__issue_type": ["model.jira_source.stg_jira__issue_type_tmp", "model.jira_source.stg_jira__issue_type_tmp"], "model.jira_source.stg_jira__issue_link": ["model.jira_source.stg_jira__issue_link_tmp", "model.jira_source.stg_jira__issue_link_tmp"], "model.jira_source.stg_jira__component": ["model.jira_source.stg_jira__component_tmp", "model.jira_source.stg_jira__component_tmp"], "model.jira_source.stg_jira__user": ["model.jira_source.stg_jira__user_tmp", "model.jira_source.stg_jira__user_tmp"], "model.jira_source.stg_jira__priority": ["model.jira_source.stg_jira__priority_tmp", "model.jira_source.stg_jira__priority_tmp"], "model.jira_source.stg_jira__version_tmp": ["source.jira_source.jira.version"], "model.jira_source.stg_jira__status_category_tmp": ["source.jira_source.jira.status_category"], "model.jira_source.stg_jira__field_option_tmp": ["source.jira_source.jira.field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["source.jira_source.jira.issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["source.jira_source.jira.issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["source.jira_source.jira.sprint"], "model.jira_source.stg_jira__status_tmp": ["source.jira_source.jira.status"], "model.jira_source.stg_jira__project_tmp": ["source.jira_source.jira.project"], "model.jira_source.stg_jira__comment_tmp": ["source.jira_source.jira.comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["source.jira_source.jira.issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["source.jira_source.jira.issue_link"], "model.jira_source.stg_jira__field_tmp": ["source.jira_source.jira.field"], "model.jira_source.stg_jira__user_tmp": ["source.jira_source.jira.user"], "model.jira_source.stg_jira__issue_tmp": ["source.jira_source.jira.issue"], "model.jira_source.stg_jira__priority_tmp": ["source.jira_source.jira.priority"], "model.jira_source.stg_jira__component_tmp": ["source.jira_source.jira.component"], "model.jira_source.stg_jira__resolution_tmp": ["source.jira_source.jira.resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": ["model.jira_source.stg_jira__comment"], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": ["model.jira_source.stg_jira__comment"], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": ["model.jira_source.stg_jira__component"], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": ["model.jira_source.stg_jira__component"], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": ["model.jira_source.stg_jira__field"], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": ["model.jira_source.stg_jira__field_option"], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": ["model.jira_source.stg_jira__issue"], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": ["model.jira_source.stg_jira__issue"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": ["model.jira_source.stg_jira__issue_field_history"], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": ["model.jira_source.stg_jira__issue_multiselect_history"], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": ["model.jira_source.stg_jira__issue_type"], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": ["model.jira_source.stg_jira__priority"], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": ["model.jira_source.stg_jira__priority"], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": ["model.jira_source.stg_jira__project"], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": ["model.jira_source.stg_jira__project"], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": ["model.jira_source.stg_jira__resolution"], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": ["model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": ["model.jira_source.stg_jira__sprint"], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": ["model.jira_source.stg_jira__sprint"], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": ["model.jira_source.stg_jira__status"], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": ["model.jira_source.stg_jira__status"], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": ["model.jira_source.stg_jira__status_category"], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": ["model.jira_source.stg_jira__status_category"], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": ["model.jira_source.stg_jira__user"], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": ["model.jira_source.stg_jira__user"], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": ["model.jira_source.stg_jira__version"], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": ["model.jira_source.stg_jira__version"], "source.jira_source.jira.comment": [], "source.jira_source.jira.component": [], "source.jira_source.jira.field": [], "source.jira_source.jira.field_option": [], "source.jira_source.jira.issue": [], "source.jira_source.jira.issue_field_history": [], "source.jira_source.jira.issue_link": [], "source.jira_source.jira.issue_multiselect_history": [], "source.jira_source.jira.issue_type": [], "source.jira_source.jira.priority": [], "source.jira_source.jira.project": [], "source.jira_source.jira.resolution": [], "source.jira_source.jira.sprint": [], "source.jira_source.jira.status": [], "source.jira_source.jira.status_category": [], "source.jira_source.jira.user": [], "source.jira_source.jira.version": []}, "child_map": {"seed.jira_source_integration_tests.issue_link": [], "seed.jira_source_integration_tests.issue_type": [], "seed.jira_source_integration_tests.project_board": [], "seed.jira_source_integration_tests.resolution": [], "seed.jira_source_integration_tests.version": [], "seed.jira_source_integration_tests.status": [], "seed.jira_source_integration_tests.user_group": [], "seed.jira_source_integration_tests.component": [], "seed.jira_source_integration_tests.project": [], "seed.jira_source_integration_tests.issue_multiselect_history": [], "seed.jira_source_integration_tests.comment": [], "seed.jira_source_integration_tests.issue": [], "seed.jira_source_integration_tests.sprint": [], "seed.jira_source_integration_tests.field_option": [], "seed.jira_source_integration_tests.epic": [], "seed.jira_source_integration_tests.field": [], "seed.jira_source_integration_tests.user": [], "seed.jira_source_integration_tests.priority": [], "seed.jira_source_integration_tests.status_category": [], "seed.jira_source_integration_tests.issue_field_history": [], "seed.jira_source_integration_tests.project_category": [], "model.jira_source.stg_jira__comment": ["test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a", "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"], "model.jira_source.stg_jira__project": ["test.jira_source.not_null_stg_jira__project_project_id.996fe19522", "test.jira_source.unique_stg_jira__project_project_id.58d321d374"], "model.jira_source.stg_jira__issue_field_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"], "model.jira_source.stg_jira__version": ["test.jira_source.not_null_stg_jira__version_version_id.03877ce324", "test.jira_source.unique_stg_jira__version_version_id.08231bd017"], "model.jira_source.stg_jira__sprint": ["test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7", "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"], "model.jira_source.stg_jira__field_option": ["test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"], "model.jira_source.stg_jira__field": ["test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b", "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"], "model.jira_source.stg_jira__resolution": ["test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4", "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"], "model.jira_source.stg_jira__status": ["test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84", "test.jira_source.unique_stg_jira__status_status_id.0449241b95"], "model.jira_source.stg_jira__issue": ["test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132", "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"], "model.jira_source.stg_jira__status_category": ["test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0", "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"], "model.jira_source.stg_jira__issue_multiselect_history": ["test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"], "model.jira_source.stg_jira__issue_type": ["test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343", "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"], "model.jira_source.stg_jira__issue_link": [], "model.jira_source.stg_jira__component": ["test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad", "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"], "model.jira_source.stg_jira__user": ["test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2", "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"], "model.jira_source.stg_jira__priority": ["test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363", "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"], "model.jira_source.stg_jira__version_tmp": ["model.jira_source.stg_jira__version", "model.jira_source.stg_jira__version"], "model.jira_source.stg_jira__status_category_tmp": ["model.jira_source.stg_jira__status_category", "model.jira_source.stg_jira__status_category"], "model.jira_source.stg_jira__field_option_tmp": ["model.jira_source.stg_jira__field_option", "model.jira_source.stg_jira__field_option"], "model.jira_source.stg_jira__issue_multiselect_history_tmp": ["model.jira_source.stg_jira__issue_multiselect_history", "model.jira_source.stg_jira__issue_multiselect_history"], "model.jira_source.stg_jira__issue_type_tmp": ["model.jira_source.stg_jira__issue_type", "model.jira_source.stg_jira__issue_type"], "model.jira_source.stg_jira__sprint_tmp": ["model.jira_source.stg_jira__sprint", "model.jira_source.stg_jira__sprint"], "model.jira_source.stg_jira__status_tmp": ["model.jira_source.stg_jira__status", "model.jira_source.stg_jira__status"], "model.jira_source.stg_jira__project_tmp": ["model.jira_source.stg_jira__project", "model.jira_source.stg_jira__project"], "model.jira_source.stg_jira__comment_tmp": ["model.jira_source.stg_jira__comment", "model.jira_source.stg_jira__comment"], "model.jira_source.stg_jira__issue_field_history_tmp": ["model.jira_source.stg_jira__issue_field_history", "model.jira_source.stg_jira__issue_field_history"], "model.jira_source.stg_jira__issue_link_tmp": ["model.jira_source.stg_jira__issue_link", "model.jira_source.stg_jira__issue_link"], "model.jira_source.stg_jira__field_tmp": ["model.jira_source.stg_jira__field", "model.jira_source.stg_jira__field"], "model.jira_source.stg_jira__user_tmp": ["model.jira_source.stg_jira__user", "model.jira_source.stg_jira__user"], "model.jira_source.stg_jira__issue_tmp": ["model.jira_source.stg_jira__issue", "model.jira_source.stg_jira__issue"], "model.jira_source.stg_jira__priority_tmp": ["model.jira_source.stg_jira__priority", "model.jira_source.stg_jira__priority"], "model.jira_source.stg_jira__component_tmp": ["model.jira_source.stg_jira__component", "model.jira_source.stg_jira__component"], "model.jira_source.stg_jira__resolution_tmp": ["model.jira_source.stg_jira__resolution", "model.jira_source.stg_jira__resolution"], "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5": [], "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a": [], "test.jira_source.unique_stg_jira__component_component_id.1773ebe913": [], "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad": [], "test.jira_source.unique_stg_jira__field_field_id.df7b462fff": [], "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b": [], "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358": [], "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230": [], "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c": [], "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8": [], "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41": [], "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343": [], "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2": [], "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363": [], "test.jira_source.unique_stg_jira__project_project_id.58d321d374": [], "test.jira_source.not_null_stg_jira__project_project_id.996fe19522": [], "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87": [], "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4": [], "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed": [], "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7": [], "test.jira_source.unique_stg_jira__status_status_id.0449241b95": [], "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84": [], "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a": [], "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0": [], "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f": [], "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2": [], "test.jira_source.unique_stg_jira__version_version_id.08231bd017": [], "test.jira_source.not_null_stg_jira__version_version_id.03877ce324": [], "source.jira_source.jira.comment": ["model.jira_source.stg_jira__comment_tmp"], "source.jira_source.jira.component": ["model.jira_source.stg_jira__component_tmp"], "source.jira_source.jira.field": ["model.jira_source.stg_jira__field_tmp"], "source.jira_source.jira.field_option": ["model.jira_source.stg_jira__field_option_tmp"], "source.jira_source.jira.issue": ["model.jira_source.stg_jira__issue_tmp"], "source.jira_source.jira.issue_field_history": ["model.jira_source.stg_jira__issue_field_history_tmp"], "source.jira_source.jira.issue_link": ["model.jira_source.stg_jira__issue_link_tmp"], "source.jira_source.jira.issue_multiselect_history": ["model.jira_source.stg_jira__issue_multiselect_history_tmp"], "source.jira_source.jira.issue_type": ["model.jira_source.stg_jira__issue_type_tmp"], "source.jira_source.jira.priority": ["model.jira_source.stg_jira__priority_tmp"], "source.jira_source.jira.project": ["model.jira_source.stg_jira__project_tmp"], "source.jira_source.jira.resolution": ["model.jira_source.stg_jira__resolution_tmp"], "source.jira_source.jira.sprint": ["model.jira_source.stg_jira__sprint_tmp"], "source.jira_source.jira.status": ["model.jira_source.stg_jira__status_tmp"], "source.jira_source.jira.status_category": ["model.jira_source.stg_jira__status_category_tmp"], "source.jira_source.jira.user": ["model.jira_source.stg_jira__user_tmp"], "source.jira_source.jira.version": ["model.jira_source.stg_jira__version_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 914fc07..531ab22 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-30T14:08:06.957247Z", "invocation_id": "4c0a2a8c-0885-4ba0-b9cf-426f96e86100", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.385861Z", "completed_at": "2022-06-30T14:08:05.390563Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.391253Z", "completed_at": "2022-06-30T14:08:05.391262Z"}], "thread_id": "Thread-1", "execution_time": 0.006819963455200195, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.comment"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.385980Z", "completed_at": "2022-06-30T14:08:05.390667Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.391342Z", "completed_at": "2022-06-30T14:08:05.391346Z"}], "thread_id": "Thread-2", "execution_time": 0.006779909133911133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.component"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.386049Z", "completed_at": "2022-06-30T14:08:05.390757Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.391415Z", "completed_at": "2022-06-30T14:08:05.391418Z"}], "thread_id": "Thread-3", "execution_time": 0.006737947463989258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.epic"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.386124Z", "completed_at": "2022-06-30T14:08:05.390833Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.391486Z", "completed_at": "2022-06-30T14:08:05.391490Z"}], "thread_id": "Thread-4", "execution_time": 0.0067250728607177734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.field"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.393655Z", "completed_at": "2022-06-30T14:08:05.397955Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.398703Z", "completed_at": "2022-06-30T14:08:05.398710Z"}], "thread_id": "Thread-1", "execution_time": 0.00635981559753418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.field_option"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.393743Z", "completed_at": "2022-06-30T14:08:05.398115Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.398775Z", "completed_at": "2022-06-30T14:08:05.398778Z"}], "thread_id": "Thread-2", "execution_time": 0.00628209114074707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.393809Z", "completed_at": "2022-06-30T14:08:05.398232Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.398852Z", "completed_at": "2022-06-30T14:08:05.398856Z"}], "thread_id": "Thread-3", "execution_time": 0.006314992904663086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_field_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.393942Z", "completed_at": "2022-06-30T14:08:05.398308Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.398936Z", "completed_at": "2022-06-30T14:08:05.398940Z"}], "thread_id": "Thread-4", "execution_time": 0.00633692741394043, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_link"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.401350Z", "completed_at": "2022-06-30T14:08:05.406308Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.406873Z", "completed_at": "2022-06-30T14:08:05.406879Z"}], "thread_id": "Thread-1", "execution_time": 0.006969928741455078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.401413Z", "completed_at": "2022-06-30T14:08:05.406388Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.406939Z", "completed_at": "2022-06-30T14:08:05.406942Z"}], "thread_id": "Thread-2", "execution_time": 0.006815910339355469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_type"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.401471Z", "completed_at": "2022-06-30T14:08:05.406465Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.407009Z", "completed_at": "2022-06-30T14:08:05.407013Z"}], "thread_id": "Thread-3", "execution_time": 0.006727933883666992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.priority"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.401529Z", "completed_at": "2022-06-30T14:08:05.406532Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.407083Z", "completed_at": "2022-06-30T14:08:05.407086Z"}], "thread_id": "Thread-4", "execution_time": 0.006708860397338867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.409363Z", "completed_at": "2022-06-30T14:08:05.413995Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.414550Z", "completed_at": "2022-06-30T14:08:05.414556Z"}], "thread_id": "Thread-1", "execution_time": 0.006379127502441406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project_board"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.409429Z", "completed_at": "2022-06-30T14:08:05.414067Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.414620Z", "completed_at": "2022-06-30T14:08:05.414624Z"}], "thread_id": "Thread-2", "execution_time": 0.006371259689331055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.409495Z", "completed_at": "2022-06-30T14:08:05.414136Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.414689Z", "completed_at": "2022-06-30T14:08:05.414692Z"}], "thread_id": "Thread-3", "execution_time": 0.0063800811767578125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.resolution"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.409553Z", "completed_at": "2022-06-30T14:08:05.414213Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.414758Z", "completed_at": "2022-06-30T14:08:05.414762Z"}], "thread_id": "Thread-4", "execution_time": 0.006370067596435547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.sprint"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.416773Z", "completed_at": "2022-06-30T14:08:05.420854Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.421430Z", "completed_at": "2022-06-30T14:08:05.421435Z"}], "thread_id": "Thread-1", "execution_time": 0.005883216857910156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.status"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.416836Z", "completed_at": "2022-06-30T14:08:05.420942Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.421499Z", "completed_at": "2022-06-30T14:08:05.421503Z"}], "thread_id": "Thread-2", "execution_time": 0.005822896957397461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.status_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.416901Z", "completed_at": "2022-06-30T14:08:05.421022Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.421567Z", "completed_at": "2022-06-30T14:08:05.421570Z"}], "thread_id": "Thread-3", "execution_time": 0.005812168121337891, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.user"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.416971Z", "completed_at": "2022-06-30T14:08:05.421087Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.421633Z", "completed_at": "2022-06-30T14:08:05.421636Z"}], "thread_id": "Thread-4", "execution_time": 0.00580286979675293, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.user_group"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.423624Z", "completed_at": "2022-06-30T14:08:05.430922Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.431225Z", "completed_at": "2022-06-30T14:08:05.431231Z"}], "thread_id": "Thread-1", "execution_time": 0.00858616828918457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.version"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.423825Z", "completed_at": "2022-06-30T14:08:05.433906Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.434492Z", "completed_at": "2022-06-30T14:08:05.434498Z"}], "thread_id": "Thread-4", "execution_time": 0.011626005172729492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.423757Z", "completed_at": "2022-06-30T14:08:05.433994Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.434573Z", "completed_at": "2022-06-30T14:08:05.434576Z"}], "thread_id": "Thread-3", "execution_time": 0.01188802719116211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__component_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.423695Z", "completed_at": "2022-06-30T14:08:05.434052Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.434643Z", "completed_at": "2022-06-30T14:08:05.434645Z"}], "thread_id": "Thread-2", "execution_time": 0.012159109115600586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.432068Z", "completed_at": "2022-06-30T14:08:05.434425Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.435219Z", "completed_at": "2022-06-30T14:08:05.435221Z"}], "thread_id": "Thread-1", "execution_time": 0.003905773162841797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_option_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.436683Z", "completed_at": "2022-06-30T14:08:05.443742Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.444267Z", "completed_at": "2022-06-30T14:08:05.444272Z"}], "thread_id": "Thread-3", "execution_time": 0.008662223815917969, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.436611Z", "completed_at": "2022-06-30T14:08:05.443807Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.444338Z", "completed_at": "2022-06-30T14:08:05.444341Z"}], "thread_id": "Thread-4", "execution_time": 0.008930683135986328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.436747Z", "completed_at": "2022-06-30T14:08:05.443885Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.444403Z", "completed_at": "2022-06-30T14:08:05.444406Z"}], "thread_id": "Thread-2", "execution_time": 0.008817195892333984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_link_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.441698Z", "completed_at": "2022-06-30T14:08:05.444204Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.444958Z", "completed_at": "2022-06-30T14:08:05.444960Z"}], "thread_id": "Thread-1", "execution_time": 0.008991241455078125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.446364Z", "completed_at": "2022-06-30T14:08:05.454573Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.455103Z", "completed_at": "2022-06-30T14:08:05.455108Z"}], "thread_id": "Thread-3", "execution_time": 0.009864091873168945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.446424Z", "completed_at": "2022-06-30T14:08:05.454645Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.455170Z", "completed_at": "2022-06-30T14:08:05.455172Z"}], "thread_id": "Thread-4", "execution_time": 0.009877920150756836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.446484Z", "completed_at": "2022-06-30T14:08:05.454702Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.455298Z", "completed_at": "2022-06-30T14:08:05.455302Z"}], "thread_id": "Thread-2", "execution_time": 0.009948968887329102, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__project_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.452589Z", "completed_at": "2022-06-30T14:08:05.454969Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.455653Z", "completed_at": "2022-06-30T14:08:05.455656Z"}], "thread_id": "Thread-1", "execution_time": 0.009929895401000977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.457301Z", "completed_at": "2022-06-30T14:08:05.465135Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.465314Z", "completed_at": "2022-06-30T14:08:05.465319Z"}], "thread_id": "Thread-3", "execution_time": 0.009083986282348633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__sprint_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.460974Z", "completed_at": "2022-06-30T14:08:05.465579Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.466281Z", "completed_at": "2022-06-30T14:08:05.466285Z"}], "thread_id": "Thread-1", "execution_time": 0.009559154510498047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__user_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.457380Z", "completed_at": "2022-06-30T14:08:05.465643Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.466345Z", "completed_at": "2022-06-30T14:08:05.466348Z"}], "thread_id": "Thread-4", "execution_time": 0.010191917419433594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.457504Z", "completed_at": "2022-06-30T14:08:05.465820Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.466475Z", "completed_at": "2022-06-30T14:08:05.466477Z"}], "thread_id": "Thread-2", "execution_time": 0.010142087936401367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.466786Z", "completed_at": "2022-06-30T14:08:05.469794Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.479292Z", "completed_at": "2022-06-30T14:08:05.479303Z"}], "thread_id": "Thread-3", "execution_time": 0.017763137817382812, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__version_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.484887Z", "completed_at": "2022-06-30T14:08:05.744430Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.744579Z", "completed_at": "2022-06-30T14:08:05.744587Z"}], "thread_id": "Thread-3", "execution_time": 0.28582763671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_option"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.469930Z", "completed_at": "2022-06-30T14:08:05.769876Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.770689Z", "completed_at": "2022-06-30T14:08:05.770695Z"}], "thread_id": "Thread-1", "execution_time": 0.3292858600616455, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.469990Z", "completed_at": "2022-06-30T14:08:05.770998Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.772529Z", "completed_at": "2022-06-30T14:08:05.772535Z"}], "thread_id": "Thread-4", "execution_time": 0.3338489532470703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__component"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.470106Z", "completed_at": "2022-06-30T14:08:05.772843Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:05.777265Z", "completed_at": "2022-06-30T14:08:05.777270Z"}], "thread_id": "Thread-2", "execution_time": 0.33803224563598633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__comment"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.772787Z", "completed_at": "2022-06-30T14:08:06.043677Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.043818Z", "completed_at": "2022-06-30T14:08:06.043825Z"}], "thread_id": "Thread-3", "execution_time": 0.2982661724090576, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.804203Z", "completed_at": "2022-06-30T14:08:06.100832Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.101112Z", "completed_at": "2022-06-30T14:08:06.101122Z"}], "thread_id": "Thread-4", "execution_time": 0.3261990547180176, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_link"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.808050Z", "completed_at": "2022-06-30T14:08:06.102152Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.102358Z", "completed_at": "2022-06-30T14:08:06.102365Z"}], "thread_id": "Thread-2", "execution_time": 0.3223907947540283, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:05.799223Z", "completed_at": "2022-06-30T14:08:06.093262Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.101655Z", "completed_at": "2022-06-30T14:08:06.101661Z"}], "thread_id": "Thread-1", "execution_time": 0.3318448066711426, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_field_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.071704Z", "completed_at": "2022-06-30T14:08:06.354370Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.354521Z", "completed_at": "2022-06-30T14:08:06.354529Z"}], "thread_id": "Thread-3", "execution_time": 0.30860018730163574, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_type"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.132160Z", "completed_at": "2022-06-30T14:08:06.409770Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.410532Z", "completed_at": "2022-06-30T14:08:06.410544Z"}], "thread_id": "Thread-4", "execution_time": 0.3060951232910156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__priority"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.136776Z", "completed_at": "2022-06-30T14:08:06.409838Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.411261Z", "completed_at": "2022-06-30T14:08:06.411266Z"}], "thread_id": "Thread-1", "execution_time": 0.30544376373291016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__resolution"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.132310Z", "completed_at": "2022-06-30T14:08:06.411982Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.412119Z", "completed_at": "2022-06-30T14:08:06.412123Z"}], "thread_id": "Thread-2", "execution_time": 0.3066110610961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__project"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.380146Z", "completed_at": "2022-06-30T14:08:06.629003Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.629141Z", "completed_at": "2022-06-30T14:08:06.629148Z"}], "thread_id": "Thread-3", "execution_time": 0.2739288806915283, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__sprint"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.445147Z", "completed_at": "2022-06-30T14:08:06.686207Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.686356Z", "completed_at": "2022-06-30T14:08:06.686362Z"}], "thread_id": "Thread-2", "execution_time": 0.27287721633911133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.712622Z", "completed_at": "2022-06-30T14:08:06.718672Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.718816Z", "completed_at": "2022-06-30T14:08:06.718821Z"}], "thread_id": "Thread-2", "execution_time": 0.006666898727416992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.719315Z", "completed_at": "2022-06-30T14:08:06.721309Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.721437Z", "completed_at": "2022-06-30T14:08:06.721441Z"}], "thread_id": "Thread-2", "execution_time": 0.0024149417877197266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.721895Z", "completed_at": "2022-06-30T14:08:06.725383Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.725515Z", "completed_at": "2022-06-30T14:08:06.725520Z"}], "thread_id": "Thread-2", "execution_time": 0.003920316696166992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.726133Z", "completed_at": "2022-06-30T14:08:06.728485Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.728621Z", "completed_at": "2022-06-30T14:08:06.728627Z"}], "thread_id": "Thread-2", "execution_time": 0.0028989315032958984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.729135Z", "completed_at": "2022-06-30T14:08:06.731484Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.731619Z", "completed_at": "2022-06-30T14:08:06.731624Z"}], "thread_id": "Thread-2", "execution_time": 0.0028002262115478516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.732202Z", "completed_at": "2022-06-30T14:08:06.735588Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.735739Z", "completed_at": "2022-06-30T14:08:06.735745Z"}], "thread_id": "Thread-2", "execution_time": 0.003923892974853516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.736287Z", "completed_at": "2022-06-30T14:08:06.738805Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.738943Z", "completed_at": "2022-06-30T14:08:06.738948Z"}], "thread_id": "Thread-2", "execution_time": 0.0029909610748291016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.438590Z", "completed_at": "2022-06-30T14:08:06.711440Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.712011Z", "completed_at": "2022-06-30T14:08:06.712014Z"}], "thread_id": "Thread-4", "execution_time": 0.30492091178894043, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__user"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.438695Z", "completed_at": "2022-06-30T14:08:06.711372Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.711840Z", "completed_at": "2022-06-30T14:08:06.711845Z"}], "thread_id": "Thread-1", "execution_time": 0.304901123046875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.739555Z", "completed_at": "2022-06-30T14:08:06.742858Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.743653Z", "completed_at": "2022-06-30T14:08:06.743658Z"}], "thread_id": "Thread-2", "execution_time": 0.004700899124145508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.744144Z", "completed_at": "2022-06-30T14:08:06.751925Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.755263Z", "completed_at": "2022-06-30T14:08:06.755270Z"}], "thread_id": "Thread-4", "execution_time": 0.012081146240234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.744307Z", "completed_at": "2022-06-30T14:08:06.754995Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.755366Z", "completed_at": "2022-06-30T14:08:06.755370Z"}], "thread_id": "Thread-1", "execution_time": 0.012003183364868164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.751859Z", "completed_at": "2022-06-30T14:08:06.755425Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.756117Z", "completed_at": "2022-06-30T14:08:06.756120Z"}], "thread_id": "Thread-2", "execution_time": 0.009919404983520508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.756800Z", "completed_at": "2022-06-30T14:08:06.764019Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.764374Z", "completed_at": "2022-06-30T14:08:06.764380Z"}], "thread_id": "Thread-4", "execution_time": 0.008477210998535156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.756861Z", "completed_at": "2022-06-30T14:08:06.764080Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.764443Z", "completed_at": "2022-06-30T14:08:06.764446Z"}], "thread_id": "Thread-1", "execution_time": 0.008493900299072266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.761269Z", "completed_at": "2022-06-30T14:08:06.764306Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.764889Z", "completed_at": "2022-06-30T14:08:06.764893Z"}], "thread_id": "Thread-2", "execution_time": 0.008311033248901367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.765885Z", "completed_at": "2022-06-30T14:08:06.771954Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.772129Z", "completed_at": "2022-06-30T14:08:06.772134Z"}], "thread_id": "Thread-4", "execution_time": 0.007048368453979492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.765948Z", "completed_at": "2022-06-30T14:08:06.772219Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.772764Z", "completed_at": "2022-06-30T14:08:06.772767Z"}], "thread_id": "Thread-1", "execution_time": 0.0076291561126708984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.769876Z", "completed_at": "2022-06-30T14:08:06.772439Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.772950Z", "completed_at": "2022-06-30T14:08:06.772953Z"}], "thread_id": "Thread-2", "execution_time": 0.007480144500732422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.773425Z", "completed_at": "2022-06-30T14:08:06.777862Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.779981Z", "completed_at": "2022-06-30T14:08:06.779986Z"}], "thread_id": "Thread-4", "execution_time": 0.007311820983886719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.775886Z", "completed_at": "2022-06-30T14:08:06.783214Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.783686Z", "completed_at": "2022-06-30T14:08:06.783691Z"}], "thread_id": "Thread-1", "execution_time": 0.010397195816040039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.775963Z", "completed_at": "2022-06-30T14:08:06.783277Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.783760Z", "completed_at": "2022-06-30T14:08:06.783764Z"}], "thread_id": "Thread-2", "execution_time": 0.008524179458618164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.780504Z", "completed_at": "2022-06-30T14:08:06.783613Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.784194Z", "completed_at": "2022-06-30T14:08:06.784196Z"}], "thread_id": "Thread-4", "execution_time": 0.004189968109130859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.785164Z", "completed_at": "2022-06-30T14:08:06.791638Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.792050Z", "completed_at": "2022-06-30T14:08:06.792058Z"}], "thread_id": "Thread-1", "execution_time": 0.007773876190185547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.785230Z", "completed_at": "2022-06-30T14:08:06.791766Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.792129Z", "completed_at": "2022-06-30T14:08:06.792132Z"}], "thread_id": "Thread-2", "execution_time": 0.007909297943115234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.789548Z", "completed_at": "2022-06-30T14:08:06.791977Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.792705Z", "completed_at": "2022-06-30T14:08:06.792708Z"}], "thread_id": "Thread-4", "execution_time": 0.00810384750366211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.793949Z", "completed_at": "2022-06-30T14:08:06.801355Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.801734Z", "completed_at": "2022-06-30T14:08:06.801741Z"}], "thread_id": "Thread-2", "execution_time": 0.008661031723022461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.793874Z", "completed_at": "2022-06-30T14:08:06.801429Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.801818Z", "completed_at": "2022-06-30T14:08:06.801822Z"}], "thread_id": "Thread-1", "execution_time": 0.008942127227783203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.798272Z", "completed_at": "2022-06-30T14:08:06.801665Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.802261Z", "completed_at": "2022-06-30T14:08:06.802264Z"}], "thread_id": "Thread-4", "execution_time": 0.008753776550292969, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.654428Z", "completed_at": "2022-06-30T14:08:06.924048Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.924197Z", "completed_at": "2022-06-30T14:08:06.924205Z"}], "thread_id": "Thread-3", "execution_time": 0.29628682136535645, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__version"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.951338Z", "completed_at": "2022-06-30T14:08:06.955847Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.956004Z", "completed_at": "2022-06-30T14:08:06.956008Z"}], "thread_id": "Thread-2", "execution_time": 0.0052509307861328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T14:08:06.953718Z", "completed_at": "2022-06-30T14:08:06.956207Z"}, {"name": "execute", "started_at": "2022-06-30T14:08:06.956408Z", "completed_at": "2022-06-30T14:08:06.956412Z"}], "thread_id": "Thread-1", "execution_time": 0.005329132080078125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017"}], "elapsed_time": 2.3844850063323975, "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-09-20T20:58:56.361094Z", "invocation_id": "b591c73a-93c2-4bcf-9b62-f14d8b1780b8", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.527097Z", "completed_at": "2022-09-20T20:58:54.540097Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.540863Z", "completed_at": "2022-09-20T20:58:54.540877Z"}], "thread_id": "Thread-1", "execution_time": 0.015833139419555664, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__comment_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.527377Z", "completed_at": "2022-09-20T20:58:54.540260Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.540967Z", "completed_at": "2022-09-20T20:58:54.540971Z"}], "thread_id": "Thread-3", "execution_time": 0.015409708023071289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_option_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.527252Z", "completed_at": "2022-09-20T20:58:54.540355Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.541144Z", "completed_at": "2022-09-20T20:58:54.541147Z"}], "thread_id": "Thread-2", "execution_time": 0.015911340713500977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__component_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.527535Z", "completed_at": "2022-09-20T20:58:54.540675Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.541655Z", "completed_at": "2022-09-20T20:58:54.541659Z"}], "thread_id": "Thread-4", "execution_time": 0.016078948974609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.543970Z", "completed_at": "2022-09-20T20:58:54.553273Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.553781Z", "completed_at": "2022-09-20T20:58:54.553787Z"}], "thread_id": "Thread-1", "execution_time": 0.011496782302856445, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_field_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.544064Z", "completed_at": "2022-09-20T20:58:54.553351Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.553944Z", "completed_at": "2022-09-20T20:58:54.553947Z"}], "thread_id": "Thread-3", "execution_time": 0.01144099235534668, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_link_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.548887Z", "completed_at": "2022-09-20T20:58:54.553688Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.554528Z", "completed_at": "2022-09-20T20:58:54.554531Z"}], "thread_id": "Thread-4", "execution_time": 0.01137685775756836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.544242Z", "completed_at": "2022-09-20T20:58:54.553864Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.554786Z", "completed_at": "2022-09-20T20:58:54.554789Z"}], "thread_id": "Thread-2", "execution_time": 0.012021064758300781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.556196Z", "completed_at": "2022-09-20T20:58:54.563306Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.565413Z", "completed_at": "2022-09-20T20:58:54.565417Z"}], "thread_id": "Thread-1", "execution_time": 0.010560035705566406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_type_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.556400Z", "completed_at": "2022-09-20T20:58:54.565013Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.565545Z", "completed_at": "2022-09-20T20:58:54.565548Z"}], "thread_id": "Thread-3", "execution_time": 0.010470867156982422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__priority_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.560452Z", "completed_at": "2022-09-20T20:58:54.565327Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.566033Z", "completed_at": "2022-09-20T20:58:54.566036Z"}], "thread_id": "Thread-4", "execution_time": 0.010476112365722656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__project_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.560571Z", "completed_at": "2022-09-20T20:58:54.565477Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.566268Z", "completed_at": "2022-09-20T20:58:54.566271Z"}], "thread_id": "Thread-2", "execution_time": 0.01051020622253418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__resolution_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.567462Z", "completed_at": "2022-09-20T20:58:54.572966Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.574807Z", "completed_at": "2022-09-20T20:58:54.574812Z"}], "thread_id": "Thread-1", "execution_time": 0.008540153503417969, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__sprint_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.567716Z", "completed_at": "2022-09-20T20:58:54.574692Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.575296Z", "completed_at": "2022-09-20T20:58:54.575299Z"}], "thread_id": "Thread-3", "execution_time": 0.008831977844238281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_category_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.571173Z", "completed_at": "2022-09-20T20:58:54.574876Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.575566Z", "completed_at": "2022-09-20T20:58:54.575569Z"}], "thread_id": "Thread-4", "execution_time": 0.008649826049804688, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.571278Z", "completed_at": "2022-09-20T20:58:54.575018Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.575764Z", "completed_at": "2022-09-20T20:58:54.575766Z"}], "thread_id": "Thread-2", "execution_time": 0.008711814880371094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__user_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.576790Z", "completed_at": "2022-09-20T20:58:54.580865Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.582953Z", "completed_at": "2022-09-20T20:58:54.582957Z"}], "thread_id": "Thread-1", "execution_time": 0.007449150085449219, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__version_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.579689Z", "completed_at": "2022-09-20T20:58:54.581792Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.583082Z", "completed_at": "2022-09-20T20:58:54.583084Z"}], "thread_id": "Thread-3", "execution_time": 0.007027149200439453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.comment"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.579849Z", "completed_at": "2022-09-20T20:58:54.582758Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.583379Z", "completed_at": "2022-09-20T20:58:54.583381Z"}], "thread_id": "Thread-4", "execution_time": 0.007057905197143555, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.component"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.580792Z", "completed_at": "2022-09-20T20:58:54.582889Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.583654Z", "completed_at": "2022-09-20T20:58:54.583657Z"}], "thread_id": "Thread-2", "execution_time": 0.007104158401489258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.epic"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.584987Z", "completed_at": "2022-09-20T20:58:54.586978Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.589050Z", "completed_at": "2022-09-20T20:58:54.589053Z"}], "thread_id": "Thread-1", "execution_time": 0.005143165588378906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.field"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.585111Z", "completed_at": "2022-09-20T20:58:54.587848Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.589182Z", "completed_at": "2022-09-20T20:58:54.589185Z"}], "thread_id": "Thread-3", "execution_time": 0.0051479339599609375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.field_option"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.586041Z", "completed_at": "2022-09-20T20:58:54.588854Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.589438Z", "completed_at": "2022-09-20T20:58:54.589441Z"}], "thread_id": "Thread-4", "execution_time": 0.005146980285644531, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.586906Z", "completed_at": "2022-09-20T20:58:54.588985Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.589630Z", "completed_at": "2022-09-20T20:58:54.589633Z"}], "thread_id": "Thread-2", "execution_time": 0.005207061767578125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_field_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.591691Z", "completed_at": "2022-09-20T20:58:54.593625Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.595568Z", "completed_at": "2022-09-20T20:58:54.595571Z"}], "thread_id": "Thread-1", "execution_time": 0.005710124969482422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_link"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.591810Z", "completed_at": "2022-09-20T20:58:54.594501Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.595696Z", "completed_at": "2022-09-20T20:58:54.595698Z"}], "thread_id": "Thread-3", "execution_time": 0.00567173957824707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_multiselect_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.592700Z", "completed_at": "2022-09-20T20:58:54.595378Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.595946Z", "completed_at": "2022-09-20T20:58:54.595948Z"}], "thread_id": "Thread-4", "execution_time": 0.004904270172119141, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.issue_type"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.593549Z", "completed_at": "2022-09-20T20:58:54.595505Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.596126Z", "completed_at": "2022-09-20T20:58:54.596128Z"}], "thread_id": "Thread-2", "execution_time": 0.004961967468261719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.priority"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.597421Z", "completed_at": "2022-09-20T20:58:54.599348Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.601908Z", "completed_at": "2022-09-20T20:58:54.601911Z"}], "thread_id": "Thread-1", "execution_time": 0.005569934844970703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.597542Z", "completed_at": "2022-09-20T20:58:54.600163Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.602035Z", "completed_at": "2022-09-20T20:58:54.602037Z"}], "thread_id": "Thread-3", "execution_time": 0.00556492805480957, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project_board"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.598455Z", "completed_at": "2022-09-20T20:58:54.601720Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.602287Z", "completed_at": "2022-09-20T20:58:54.602289Z"}], "thread_id": "Thread-4", "execution_time": 0.0055158138275146484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.project_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.599285Z", "completed_at": "2022-09-20T20:58:54.601846Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.602466Z", "completed_at": "2022-09-20T20:58:54.602468Z"}], "thread_id": "Thread-2", "execution_time": 0.005560636520385742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.resolution"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.603728Z", "completed_at": "2022-09-20T20:58:54.605643Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.607528Z", "completed_at": "2022-09-20T20:58:54.607531Z"}], "thread_id": "Thread-1", "execution_time": 0.004858970642089844, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.sprint"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.603849Z", "completed_at": "2022-09-20T20:58:54.606456Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.607651Z", "completed_at": "2022-09-20T20:58:54.607654Z"}], "thread_id": "Thread-3", "execution_time": 0.004861116409301758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.status"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.604769Z", "completed_at": "2022-09-20T20:58:54.607339Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.607905Z", "completed_at": "2022-09-20T20:58:54.607908Z"}], "thread_id": "Thread-4", "execution_time": 0.0048139095306396484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.status_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.605581Z", "completed_at": "2022-09-20T20:58:54.607468Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.608083Z", "completed_at": "2022-09-20T20:58:54.608085Z"}], "thread_id": "Thread-2", "execution_time": 0.004856109619140625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.user"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.609316Z", "completed_at": "2022-09-20T20:58:54.611205Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.619781Z", "completed_at": "2022-09-20T20:58:54.619785Z"}], "thread_id": "Thread-1", "execution_time": 0.01152801513671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.user_group"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.609435Z", "completed_at": "2022-09-20T20:58:54.616907Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.619912Z", "completed_at": "2022-09-20T20:58:54.619914Z"}], "thread_id": "Thread-3", "execution_time": 0.011584043502807617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.jira_source_integration_tests.version"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.621074Z", "completed_at": "2022-09-20T20:58:54.943781Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.944057Z", "completed_at": "2022-09-20T20:58:54.944067Z"}], "thread_id": "Thread-1", "execution_time": 0.3494091033935547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__component"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.611142Z", "completed_at": "2022-09-20T20:58:54.944610Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.946758Z", "completed_at": "2022-09-20T20:58:54.946766Z"}], "thread_id": "Thread-2", "execution_time": 0.3682219982147217, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field_option"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.621139Z", "completed_at": "2022-09-20T20:58:54.946870Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.947385Z", "completed_at": "2022-09-20T20:58:54.947390Z"}], "thread_id": "Thread-3", "execution_time": 0.3568868637084961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__field"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.610348Z", "completed_at": "2022-09-20T20:58:54.947293Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:54.947680Z", "completed_at": "2022-09-20T20:58:54.947684Z"}], "thread_id": "Thread-4", "execution_time": 0.36884403228759766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__comment"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.970846Z", "completed_at": "2022-09-20T20:58:55.294316Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.298133Z", "completed_at": "2022-09-20T20:58:55.298143Z"}], "thread_id": "Thread-1", "execution_time": 0.3769998550415039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_field_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.979616Z", "completed_at": "2022-09-20T20:58:55.327879Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.328211Z", "completed_at": "2022-09-20T20:58:55.328217Z"}], "thread_id": "Thread-4", "execution_time": 0.3745439052581787, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_multiselect_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.979448Z", "completed_at": "2022-09-20T20:58:55.329528Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.330079Z", "completed_at": "2022-09-20T20:58:55.330083Z"}], "thread_id": "Thread-2", "execution_time": 0.3789858818054199, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_link"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:54.979534Z", "completed_at": "2022-09-20T20:58:55.334346Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.334491Z", "completed_at": "2022-09-20T20:58:55.334495Z"}], "thread_id": "Thread-3", "execution_time": 0.38295483589172363, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.358088Z", "completed_at": "2022-09-20T20:58:55.606633Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.607176Z", "completed_at": "2022-09-20T20:58:55.607197Z"}], "thread_id": "Thread-2", "execution_time": 0.30091214179992676, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__project"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.347845Z", "completed_at": "2022-09-20T20:58:55.623448Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.623690Z", "completed_at": "2022-09-20T20:58:55.623696Z"}], "thread_id": "Thread-1", "execution_time": 0.31227898597717285, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__issue_type"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.354021Z", "completed_at": "2022-09-20T20:58:55.622915Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.623175Z", "completed_at": "2022-09-20T20:58:55.623184Z"}], "thread_id": "Thread-4", "execution_time": 0.30664801597595215, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__priority"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.362300Z", "completed_at": "2022-09-20T20:58:55.661103Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:55.670849Z", "completed_at": "2022-09-20T20:58:55.670857Z"}], "thread_id": "Thread-3", "execution_time": 0.34109020233154297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__resolution"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.671161Z", "completed_at": "2022-09-20T20:58:56.004016Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.004533Z", "completed_at": "2022-09-20T20:58:56.004565Z"}], "thread_id": "Thread-1", "execution_time": 0.36843204498291016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status_category"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.703949Z", "completed_at": "2022-09-20T20:58:56.012136Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.012635Z", "completed_at": "2022-09-20T20:58:56.012640Z"}], "thread_id": "Thread-3", "execution_time": 0.3367748260498047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__user"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.661228Z", "completed_at": "2022-09-20T20:58:56.011827Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.012259Z", "completed_at": "2022-09-20T20:58:56.012265Z"}], "thread_id": "Thread-2", "execution_time": 0.38095808029174805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__sprint"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:55.671478Z", "completed_at": "2022-09-20T20:58:56.009155Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.011462Z", "completed_at": "2022-09-20T20:58:56.011470Z"}], "thread_id": "Thread-4", "execution_time": 0.3703010082244873, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__status"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.042865Z", "completed_at": "2022-09-20T20:58:56.060071Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.060640Z", "completed_at": "2022-09-20T20:58:56.060647Z"}], "thread_id": "Thread-2", "execution_time": 0.018978118896484375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__component_component_id.1773ebe913"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.042753Z", "completed_at": "2022-09-20T20:58:56.060185Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.060736Z", "completed_at": "2022-09-20T20:58:56.060739Z"}], "thread_id": "Thread-3", "execution_time": 0.01941084861755371, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__component_component_id.2f017ad5ad"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.042970Z", "completed_at": "2022-09-20T20:58:56.060281Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.060823Z", "completed_at": "2022-09-20T20:58:56.060826Z"}], "thread_id": "Thread-4", "execution_time": 0.019128084182739258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__field_option_field_id.1b1f37b358"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.062714Z", "completed_at": "2022-09-20T20:58:56.070140Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.070556Z", "completed_at": "2022-09-20T20:58:56.070561Z"}], "thread_id": "Thread-2", "execution_time": 0.008944988250732422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__comment_comment_id.5dec28a22a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.062813Z", "completed_at": "2022-09-20T20:58:56.070221Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.070724Z", "completed_at": "2022-09-20T20:58:56.070727Z"}], "thread_id": "Thread-3", "execution_time": 0.008983850479125977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__field_field_id.34424f1c2b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.062894Z", "completed_at": "2022-09-20T20:58:56.070387Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.070978Z", "completed_at": "2022-09-20T20:58:56.070982Z"}], "thread_id": "Thread-4", "execution_time": 0.009074926376342773, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__comment_comment_id.004104fac5"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.072227Z", "completed_at": "2022-09-20T20:58:56.083400Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.083713Z", "completed_at": "2022-09-20T20:58:56.083720Z"}], "thread_id": "Thread-2", "execution_time": 0.012430191040039062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__field_field_id.df7b462fff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.072388Z", "completed_at": "2022-09-20T20:58:56.083807Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.084332Z", "completed_at": "2022-09-20T20:58:56.084336Z"}], "thread_id": "Thread-3", "execution_time": 0.013731718063354492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_field_history_field_id__issue_id__updated_at.c01ecbb82c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.074745Z", "completed_at": "2022-09-20T20:58:56.084161Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.085632Z", "completed_at": "2022-09-20T20:58:56.085635Z"}], "thread_id": "Thread-4", "execution_time": 0.01389002799987793, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.dbt_utils_unique_combination_of_columns_stg_jira__issue_multiselect_history__fivetran_id__updated_at.4dd2d1c5a8"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.086006Z", "completed_at": "2022-09-20T20:58:56.090893Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.093050Z", "completed_at": "2022-09-20T20:58:56.093054Z"}], "thread_id": "Thread-2", "execution_time": 0.008810997009277344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__issue_issue_id.13a4fbe132"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.088687Z", "completed_at": "2022-09-20T20:58:56.092961Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.093404Z", "completed_at": "2022-09-20T20:58:56.093406Z"}], "thread_id": "Thread-3", "execution_time": 0.007644176483154297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__issue_issue_id.7bb0ee7230"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.090828Z", "completed_at": "2022-09-20T20:58:56.093185Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.093833Z", "completed_at": "2022-09-20T20:58:56.093837Z"}], "thread_id": "Thread-4", "execution_time": 0.0057239532470703125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__project_project_id.996fe19522"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.094598Z", "completed_at": "2022-09-20T20:58:56.100924Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.101195Z", "completed_at": "2022-09-20T20:58:56.101200Z"}], "thread_id": "Thread-2", "execution_time": 0.007544040679931641, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__project_project_id.58d321d374"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.096823Z", "completed_at": "2022-09-20T20:58:56.101097Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.101605Z", "completed_at": "2022-09-20T20:58:56.101608Z"}], "thread_id": "Thread-3", "execution_time": 0.007512807846069336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__issue_type_issue_type_id.57419fc343"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.098879Z", "completed_at": "2022-09-20T20:58:56.101256Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.101773Z", "completed_at": "2022-09-20T20:58:56.101776Z"}], "thread_id": "Thread-4", "execution_time": 0.007375001907348633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__issue_type_issue_type_id.a89d34aa41"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.102594Z", "completed_at": "2022-09-20T20:58:56.109073Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.109361Z", "completed_at": "2022-09-20T20:58:56.109365Z"}], "thread_id": "Thread-2", "execution_time": 0.007642984390258789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__priority_priority_id.ec0c873363"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.105407Z", "completed_at": "2022-09-20T20:58:56.109422Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.109915Z", "completed_at": "2022-09-20T20:58:56.109917Z"}], "thread_id": "Thread-3", "execution_time": 0.0077397823333740234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__priority_priority_id.79b77ea5d2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.105505Z", "completed_at": "2022-09-20T20:58:56.109477Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.109980Z", "completed_at": "2022-09-20T20:58:56.109983Z"}], "thread_id": "Thread-4", "execution_time": 0.007681846618652344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__resolution_resolution_id.1c04bac8a4"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.110662Z", "completed_at": "2022-09-20T20:58:56.114953Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.116992Z", "completed_at": "2022-09-20T20:58:56.116997Z"}], "thread_id": "Thread-2", "execution_time": 0.007162332534790039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__resolution_resolution_id.b3acb37c87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.112989Z", "completed_at": "2022-09-20T20:58:56.117081Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.117496Z", "completed_at": "2022-09-20T20:58:56.117499Z"}], "thread_id": "Thread-3", "execution_time": 0.007091045379638672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__status_category_status_category_id.7a89cdfcf0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.113069Z", "completed_at": "2022-09-20T20:58:56.117551Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.118163Z", "completed_at": "2022-09-20T20:58:56.118166Z"}], "thread_id": "Thread-4", "execution_time": 0.007642984390258789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__status_category_status_category_id.99c869330a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.118233Z", "completed_at": "2022-09-20T20:58:56.121534Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.123646Z", "completed_at": "2022-09-20T20:58:56.123650Z"}], "thread_id": "Thread-2", "execution_time": 0.007920026779174805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__user_user_id.b2153f97d2"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.121319Z", "completed_at": "2022-09-20T20:58:56.125615Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.126099Z", "completed_at": "2022-09-20T20:58:56.126103Z"}], "thread_id": "Thread-3", "execution_time": 0.008068084716796875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__user_user_id.a397e1a23f"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.123564Z", "completed_at": "2022-09-20T20:58:56.126033Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.126512Z", "completed_at": "2022-09-20T20:58:56.126515Z"}], "thread_id": "Thread-4", "execution_time": 0.0071659088134765625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__sprint_sprint_id.899b4b77d7"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.126445Z", "completed_at": "2022-09-20T20:58:56.129017Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.131211Z", "completed_at": "2022-09-20T20:58:56.131215Z"}], "thread_id": "Thread-2", "execution_time": 0.005530118942260742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__sprint_sprint_id.8a73555fed"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.129212Z", "completed_at": "2022-09-20T20:58:56.133379Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.133616Z", "completed_at": "2022-09-20T20:58:56.133620Z"}], "thread_id": "Thread-3", "execution_time": 0.005076885223388672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__status_status_id.b32a8a0d84"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.131290Z", "completed_at": "2022-09-20T20:58:56.133806Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.133982Z", "completed_at": "2022-09-20T20:58:56.133985Z"}], "thread_id": "Thread-4", "execution_time": 0.005020856857299805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__status_status_id.0449241b95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.031149Z", "completed_at": "2022-09-20T20:58:56.317317Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.317638Z", "completed_at": "2022-09-20T20:58:56.317656Z"}], "thread_id": "Thread-1", "execution_time": 0.31415486335754395, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.jira_source.stg_jira__version"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.346866Z", "completed_at": "2022-09-20T20:58:56.358413Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.358868Z", "completed_at": "2022-09-20T20:58:56.358878Z"}], "thread_id": "Thread-2", "execution_time": 0.013322830200195312, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.not_null_stg_jira__version_version_id.03877ce324"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-09-20T20:58:56.347031Z", "completed_at": "2022-09-20T20:58:56.358751Z"}, {"name": "execute", "started_at": "2022-09-20T20:58:56.359438Z", "completed_at": "2022-09-20T20:58:56.359444Z"}], "thread_id": "Thread-3", "execution_time": 0.013463735580444336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.jira_source.unique_stg_jira__version_version_id.08231bd017"}], "elapsed_time": 2.6245648860931396, "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/dbt_project.yml b/integration_tests/dbt_project.yml index 593b1f7..b52c707 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -34,9 +34,6 @@ seeds: jira_source_integration_tests: +column_types: _fivetran_synced: timestamp - board: - +column_types: - id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" comment: +column_types: id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" From d2c9ba77288e5e4be0c27f6b5549442705e2ebe5 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 20 Sep 2022 16:01:57 -0500 Subject: [PATCH 40/40] default custom schema change --- CHANGELOG.md | 2 +- dbt_project.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4048ee7..483a118 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # dbt_jira_source v0.5.0 ## 🚨 Breaking Changes 🚨 -- The default schema for the source tables are now built within a schema titled (`` + `_source_jira`) in your destination. The previous default schema was (`` + `_source_jira`). This may be overwritten if desired. +- The default schema for the source tables are now built within a schema titled (`` + `_jira_source`) in your destination. The previous default schema was (`` + `_stg_jira`). This may be overwritten if desired. ## 🎉 Documentation and Feature Updates - Updated README documentation updates for easier navigation and setup of the dbt package - Added `jira_[source_table_name]_identifier` variables to allow for easier flexibility of the package to refer to source tables with different names. diff --git a/dbt_project.yml b/dbt_project.yml index b7d3df4..67672a0 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -29,4 +29,4 @@ models: tmp: +materialized: view +materialized: table - +schema: source_jira + +schema: jira_source