near-models/macros/incremental_utils.sql
2023-07-31 16:23:52 -06:00

47 lines
707 B
SQL

{% macro incremental_load_filter(time_col) -%}
{% if is_incremental() %}
{{ time_col }} >= (
SELECT
MAX(
{{ time_col }}
)
FROM
{{ this }}
)
{%- else -%}
TRUE
{% endif %}
{%- endmacro %}
{% macro incremental_last_x_days(
time_col,
time_in_days
) -%}
{% if is_incremental() %}
{{ time_col }} >= CURRENT_DATE() - INTERVAL '{{ time_in_days }}'
{% else %}
TRUE
{% endif %}
{%- endmacro %}
{% macro incremental_pad_x_minutes(
time_col,
time_in_minutes
) -%}
{% if is_incremental() %}
{{ time_col }} >= (
SELECT
MAX(
{{ time_col }}
)
FROM
{{ this }}
) - INTERVAL '{{ time_in_minutes }} minutes'
{% else %}
TRUE
{% endif %}
{%- endmacro %}