diff --git a/dbt_project.yml b/dbt_project.yml index e324adb..6dceb0d 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -13,5 +13,4 @@ models: vars: dbt_utils_dispatch_list: - - github # likely the name of your root project - - dbt_utils \ No newline at end of file + - fivetran_utils \ No newline at end of file diff --git a/macros/_get_utils_namespaces.sql b/macros/_get_utils_namespaces.sql deleted file mode 100644 index 410be82..0000000 --- a/macros/_get_utils_namespaces.sql +++ /dev/null @@ -1,5 +0,0 @@ --- macro is necessary for cross-db compatibility to work (string_agg & timestamp_add) -{% macro _get_utils_namespaces() %} - {% set override_namespaces = var('dbt_utils_dispatch_list', []) %} - {% do return(override_namespaces + ['dbt_utils']) %} -{% endmacro %} \ No newline at end of file diff --git a/macros/string_agg.sql b/macros/string_agg.sql deleted file mode 100644 index b736dd4..0000000 --- a/macros/string_agg.sql +++ /dev/null @@ -1,20 +0,0 @@ -{% macro string_agg(field_to_agg, delimiter) -%} - -{{ adapter.dispatch('string_agg', packages = github._get_utils_namespaces()) (field_to_agg, delimiter) }} - -{%- endmacro %} - -{% macro default__string_agg(field_to_agg, delimiter) %} - string_agg({{ field_to_agg }}, {{ delimiter }}) - -{% endmacro %} - -{% macro snowflake__string_agg(field_to_agg, delimiter) %} - listagg({{ field_to_agg }}, {{ delimiter }}) - -{% endmacro %} - -{% macro redshift__string_agg(field_to_agg, delimiter) %} - listagg({{ field_to_agg }}, {{ delimiter }}) - -{% endmacro %} \ No newline at end of file diff --git a/models/intermediate/github_issue_assignees.sql b/models/intermediate/github_issue_assignees.sql index 62c6648..9d6adc1 100644 --- a/models/intermediate/github_issue_assignees.sql +++ b/models/intermediate/github_issue_assignees.sql @@ -12,7 +12,7 @@ with issue_assignee as ( select issue_assignee.issue_id, - {{ string_agg( 'github_user.login_name', "', '" )}} as assignees + {{ fivetran_utils.string_agg( 'github_user.login_name', "', '" )}} as assignees from issue_assignee join github_user on issue_assignee.user_id = github_user.user_id group by 1 diff --git a/models/intermediate/github_issue_labels.sql b/models/intermediate/github_issue_labels.sql index e6e289a..f9b7e1e 100644 --- a/models/intermediate/github_issue_labels.sql +++ b/models/intermediate/github_issue_labels.sql @@ -7,6 +7,6 @@ with issue_label as ( select issue_id, - {{ string_agg( 'label', "', '" )}} as labels + {{ fivetran_utils.string_agg( 'label', "', '" )}} as labels from issue_label group by issue_id diff --git a/models/intermediate/github_pull_request_reviewers.sql b/models/intermediate/github_pull_request_reviewers.sql index df41524..be73e15 100644 --- a/models/intermediate/github_pull_request_reviewers.sql +++ b/models/intermediate/github_pull_request_reviewers.sql @@ -12,7 +12,7 @@ with pull_request_review as ( select pull_request_review.pull_request_id, - {{ string_agg( 'github_user.login_name', "', '" )}} as reviewers, + {{ fivetran_utils.string_agg( 'github_user.login_name', "', '" )}} as reviewers, count(*) as number_of_reviews from pull_request_review left join github_user on pull_request_review.user_id = github_user.user_id diff --git a/models/intermediate/github_pull_request_times.sql b/models/intermediate/github_pull_request_times.sql index a4923fb..8801f40 100644 --- a/models/intermediate/github_pull_request_times.sql +++ b/models/intermediate/github_pull_request_times.sql @@ -33,17 +33,17 @@ with pull_request_review as ( pull_request.issue_id, pull_request.pull_request_id, -- Finds the first review that is by the requested reviewer and is not a dismissal - case when requested_reviewer_history.requested_id = pull_request_review.user_id then + min(case when requested_reviewer_history.requested_id = pull_request_review.user_id then case when lower(pull_request_review.state) in ('commented', 'approved', 'changes_requested') then pull_request_review.submitted_at end - else null end as time_of_first_requested_reviewer_review, + else null end) as time_of_first_requested_reviewer_review, min(requested_reviewer_history.created_at) as time_of_first_request, min(pull_request_review.submitted_at) as time_of_first_review_post_request from pull_request join requested_reviewer_history on requested_reviewer_history.pull_request_id = pull_request.pull_request_id left join pull_request_review on pull_request_review.pull_request_id = pull_request.pull_request_id and pull_request_review.submitted_at > requested_reviewer_history.created_at - group by 1, 2, 3 + group by 1, 2 ) diff --git a/packages.yml b/packages.yml index af60ded..9904d95 100644 --- a/packages.yml +++ b/packages.yml @@ -1,3 +1,6 @@ packages: - package: fivetran/github_source - version: 0.1.1 \ No newline at end of file + version: 0.1.1 + + - git: https://github.com/fivetran/dbt_fivetran_utils.git + warn-unpinned: false \ No newline at end of file