diff --git a/integration_tests/docker-compose-vertica.yml b/integration_tests/docker-compose-vertica.yml index d418d667a..59aded696 100644 --- a/integration_tests/docker-compose-vertica.yml +++ b/integration_tests/docker-compose-vertica.yml @@ -9,6 +9,8 @@ services: VERTICA_SCHEMA: ${SCHEMA_NAME} APP_DB_USER: dbadmin APP_DB_PASSWORD: vertica + # Deliberately not UTC: keeps the suite honest about macros that must + # use UTC rather than the server's local time. TZ: "America/Los_Angeles" VERTICA_DB_NAME: elementary_tests VMART_ETL_SCRIPT: "" diff --git a/macros/utils/cross_db_utils/current_timestamp.sql b/macros/utils/cross_db_utils/current_timestamp.sql index 2525d3668..452841942 100644 --- a/macros/utils/cross_db_utils/current_timestamp.sql +++ b/macros/utils/cross_db_utils/current_timestamp.sql @@ -114,3 +114,9 @@ -- Dremio CURRENT_TIMESTAMP() is always in UTC current_timestamp() {%- endmacro -%} + +{% macro vertica__edr_current_timestamp_in_utc() -%} + {#- dbt's default falls back to the session-local current_timestamp, which + is off by the server's UTC offset whenever Vertica is not set to UTC. -#} + cast(current_timestamp at time zone 'UTC' as timestamp) +{%- endmacro -%}