Skip to content

Commit c8b1b8f

Browse files
Update from parse to cast for the handling of the UTC time strings as the usage of the parse function appears to be preventing index usage.
1 parent 145e74e commit c8b1b8f

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

dbt/adapters/sqlserver/sqlserver_relation.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,19 @@ def _render_event_time_filtered(self, event_time_filter: EventTimeFilter) -> str
5858
if event_time_filter.start and event_time_filter.end:
5959
filter = (
6060
f"{event_time_filter.field_name} >="
61-
f" parse('{event_time_filter.start}' as datetimeoffset)"
61+
f" cast('{event_time_filter.start}' as datetimeoffset)"
6262
f" and {event_time_filter.field_name} <"
63-
f" parse('{event_time_filter.end}' as datetimeoffset)"
63+
f" cast('{event_time_filter.end}' as datetimeoffset)"
6464
)
6565
elif event_time_filter.start:
6666
filter = (
6767
f"{event_time_filter.field_name} >="
68-
f" parse('{event_time_filter.start}' as datetimeoffset)"
68+
f" cast('{event_time_filter.start}' as datetimeoffset)"
6969
)
7070
elif event_time_filter.end:
7171
filter = (
7272
f"{event_time_filter.field_name} <"
73-
f" parse('{event_time_filter.end}' as datetimeoffset)"
73+
f" cast('{event_time_filter.end}' as datetimeoffset)"
7474
)
7575

7676
return filter

dbt/include/sqlserver/macros/materializations/models/incremental/merge.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66

77
{#-- Add additional incremental_predicates to filter for batch --#}
88
{% if model.config.get("__dbt_internal_microbatch_event_time_start") -%}
9-
{{ log("incremenal append event start time > DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " >= parse('" ~ model.config.__dbt_internal_microbatch_event_time_start ~ "' as datetimeoffset)") }}
10-
{% do incremental_predicates.append("DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " >= parse('" ~ model.config.__dbt_internal_microbatch_event_time_start ~ "' as datetimeoffset)") %}
9+
{{ log("incremental append event start time > DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " >= cast('" ~ model.config.__dbt_internal_microbatch_event_time_start ~ "' as datetimeoffset)") }}
10+
{% do incremental_predicates.append("DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " >= cast('" ~ model.config.__dbt_internal_microbatch_event_time_start ~ "' as datetimeoffset)") %}
1111
{% endif %}
1212
{% if model.config.__dbt_internal_microbatch_event_time_end -%}
13-
{{ log("incremenal append event end time < DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " < parse('" ~ model.config.__dbt_internal_microbatch_event_time_end ~ "' as datetimeoffset)") }}
14-
{% do incremental_predicates.append("DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " < parse('" ~ model.config.__dbt_internal_microbatch_event_time_end ~ "' as datetimeoffset)") %}
13+
{{ log("incremental append event end time < DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " < cast('" ~ model.config.__dbt_internal_microbatch_event_time_end ~ "' as datetimeoffset)") }}
14+
{% do incremental_predicates.append("DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " < cast('" ~ model.config.__dbt_internal_microbatch_event_time_end ~ "' as datetimeoffset)") %}
1515
{% endif %}
1616
{% do arg_dict.update({'incremental_predicates': incremental_predicates}) %}
1717

0 commit comments

Comments
 (0)