From 1acd039a31fe227ed862feb4b55aed8d68007d03 Mon Sep 17 00:00:00 2001 From: Tristan Handy Date: Tue, 22 May 2018 16:29:26 -0400 Subject: [PATCH 1/5] added functionality to get current timestamp in utc --- dbt_project.yml | 2 ++ macros/cross_db_utils/current_timestamp.sql | 34 +++++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/dbt_project.yml b/dbt_project.yml index 30af29df21e..cff042418e4 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -5,3 +5,5 @@ target-path: "target" clean-targets: ["target", "dbt_modules"] macro-paths: ["macros"] log-path: "logs" + +profile: snowflake-testing \ No newline at end of file diff --git a/macros/cross_db_utils/current_timestamp.sql b/macros/cross_db_utils/current_timestamp.sql index 50e688166f1..1db936fd60b 100644 --- a/macros/cross_db_utils/current_timestamp.sql +++ b/macros/cross_db_utils/current_timestamp.sql @@ -3,13 +3,41 @@ {% endmacro %} {% macro default__current_timestamp() %} - current_timestamp() + current_timestamp {% endmacro %} {% macro redshift__current_timestamp() %} - current_timestamp::timestamp + current_timestamp::{{dbt_utils.type_timestamp()}} {% endmacro %} {% macro postgres__current_timestamp() %} - current_timestamp::timestamp + current_timestamp::{{dbt_utils.type_timestamp()}} {% endmacro %} + + + + + + +{% macro current_timestamp_in_utc() %} + {{ adapter_macro('dbt_utils.current_timestamp_in_utc') }} +{% endmacro %} + +{% macro default__current_timestamp_in_utc() %} + {{dbt_utils.current_timestamp()}} +{% endmacro %} + +{% macro snowflake__current_timestamp_in_utc() %} + convert_timezone('UTC', {{dbt_utils.current_timestamp()}})::{{dbt_utils.type_timestamp()}} +{% endmacro %} + +{% macro postgres__current_timestamp_in_utc() %} + (current_timestamp at time zone 'utc')::{{dbt_utils.type_timestamp()}} +{% endmacro %} + + + + + + + From d13da006d06ef6d3fd2928f9d2e2717c19c0566a Mon Sep 17 00:00:00 2001 From: Tristan Handy Date: Tue, 22 May 2018 16:33:29 -0400 Subject: [PATCH 2/5] removed temporary profile --- dbt_project.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dbt_project.yml b/dbt_project.yml index cff042418e4..1ef4029f9aa 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -4,6 +4,4 @@ version: '0.1.0' target-path: "target" clean-targets: ["target", "dbt_modules"] macro-paths: ["macros"] -log-path: "logs" - -profile: snowflake-testing \ No newline at end of file +log-path: "logs" \ No newline at end of file From a047f06ff19954d4955416731b3feb830d5f05ef Mon Sep 17 00:00:00 2001 From: Tristan Handy Date: Tue, 22 May 2018 16:38:55 -0400 Subject: [PATCH 3/5] fixed whitespace --- macros/cross_db_utils/current_timestamp.sql | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/macros/cross_db_utils/current_timestamp.sql b/macros/cross_db_utils/current_timestamp.sql index 1db936fd60b..055c72b94c9 100644 --- a/macros/cross_db_utils/current_timestamp.sql +++ b/macros/cross_db_utils/current_timestamp.sql @@ -16,9 +16,6 @@ - - - {% macro current_timestamp_in_utc() %} {{ adapter_macro('dbt_utils.current_timestamp_in_utc') }} {% endmacro %} @@ -33,11 +30,4 @@ {% macro postgres__current_timestamp_in_utc() %} (current_timestamp at time zone 'utc')::{{dbt_utils.type_timestamp()}} -{% endmacro %} - - - - - - - +{% endmacro %} \ No newline at end of file From 9329d6a74899b355978ceca9eae05705842a5771 Mon Sep 17 00:00:00 2001 From: Tristan Handy Date: Tue, 22 May 2018 16:44:54 -0400 Subject: [PATCH 4/5] updated timestamp strategy based on warehouse syntax updates --- macros/cross_db_utils/current_timestamp.sql | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/macros/cross_db_utils/current_timestamp.sql b/macros/cross_db_utils/current_timestamp.sql index 055c72b94c9..49a0eac9580 100644 --- a/macros/cross_db_utils/current_timestamp.sql +++ b/macros/cross_db_utils/current_timestamp.sql @@ -3,15 +3,11 @@ {% endmacro %} {% macro default__current_timestamp() %} - current_timestamp -{% endmacro %} - -{% macro redshift__current_timestamp() %} current_timestamp::{{dbt_utils.type_timestamp()}} {% endmacro %} -{% macro postgres__current_timestamp() %} - current_timestamp::{{dbt_utils.type_timestamp()}} +{% macro bigquery__current_timestamp() %} + current_timestamp {% endmacro %} From 1832a25f19ffa5698d30de18508183162eee329f Mon Sep 17 00:00:00 2001 From: Tristan Handy Date: Tue, 22 May 2018 20:58:19 -0400 Subject: [PATCH 5/5] added integration test for current_timestamp_in_utc() --- .../models/cross_db_utils/test_current_timestamp_in_utc.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 integration_tests/models/cross_db_utils/test_current_timestamp_in_utc.sql diff --git a/integration_tests/models/cross_db_utils/test_current_timestamp_in_utc.sql b/integration_tests/models/cross_db_utils/test_current_timestamp_in_utc.sql new file mode 100644 index 00000000000..55bc8e23cc4 --- /dev/null +++ b/integration_tests/models/cross_db_utils/test_current_timestamp_in_utc.sql @@ -0,0 +1,5 @@ + +-- how can we test this better? +select + {{ dbt_utils.current_timestamp_in_utc() }} as actual, + {{ dbt_utils.current_timestamp_in_utc() }} as expected \ No newline at end of file