Skip to content

Commit fc315b7

Browse files
authored
Merge pull request #669 from Benjamin-Knight/support_1.10_core
Update adapter to dbt 1.10.
2 parents 8b65fbf + 3332827 commit fc315b7

4 files changed

Lines changed: 53 additions & 10 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version = "1.9.1"
1+
version = "1.10.0"

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" cast('{event_time_filter.start}' as datetimeoffset)"
61+
f" cast('{event_time_filter.start}' as datetime2)"
6262
f" and {event_time_filter.field_name} <"
63-
f" cast('{event_time_filter.end}' as datetimeoffset)"
63+
f" cast('{event_time_filter.end}' as datetime2)"
6464
)
6565
elif event_time_filter.start:
6666
filter = (
6767
f"{event_time_filter.field_name} >="
68-
f" cast('{event_time_filter.start}' as datetimeoffset)"
68+
f" cast('{event_time_filter.start}' as datetime2)"
6969
)
7070
elif event_time_filter.end:
7171
filter = (
7272
f"{event_time_filter.field_name} <"
73-
f" cast('{event_time_filter.end}' as datetimeoffset)"
73+
f" cast('{event_time_filter.end}' as datetime2)"
7474
)
7575

7676
return filter

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ classifiers = [
2727
"Programming Language :: Python :: 3.13",
2828
]
2929
dependencies = [
30-
"dbt-core>=1.9.0,<2.0",
31-
"dbt-common>=1.0,<2.0",
32-
"dbt-adapters>=1.11.0,<2.0",
30+
"dbt-core>=1.10.0,<1.11.0",
31+
"dbt-common>=1.22.0,<2.0",
32+
"dbt-adapters>=1.15.2,<2.0",
3333
]
3434
dynamic = ["version"]
3535

@@ -43,12 +43,12 @@ pyodbc = [
4343

4444
[dependency-groups]
4545
dev = [
46-
"dbt-tests-adapter>=1.9.0,<2.0",
46+
"dbt-tests-adapter>=1.15.0,<2.0",
4747
"azure-identity>=1.12.0",
4848
"build",
4949
"bumpversion",
5050
"flaky",
51-
"freezegun==1.4.0",
51+
"freezegun>=1.5.0,<2.0",
5252
"ipdb",
5353
"mypy==1.11.2",
5454
"pre-commit",
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import os
2+
from unittest import mock
3+
4+
import freezegun
5+
import pytest
6+
7+
from dbt.tests.adapter.sample_mode.test_sample_mode import BaseSampleModeTest
8+
from dbt.tests.util import run_dbt
9+
10+
# BaseSampleModeTest.test_sample_mode uses @freezegun.freeze_time("2025-01-03T02:03:0Z").
11+
# Align static dates so the "1 day" sample window
12+
# [2025-01-02 02:03:00, 2025-01-03 02:03:00) selects exactly two rows.
13+
_input_model_sql = """
14+
{{ config(materialized='table', event_time='event_time') }}
15+
select 1 as id, cast('2025-01-01 02:03:00' as datetime2) as event_time
16+
UNION ALL
17+
select 2 as id, cast('2025-01-02 14:03:00' as datetime2) as event_time
18+
UNION ALL
19+
select 3 as id, cast('2025-01-03 02:02:59' as datetime2) as event_time
20+
"""
21+
22+
23+
class TestSQLServerSampleMode(BaseSampleModeTest):
24+
@pytest.fixture(scope="class")
25+
def input_model_sql(self) -> str:
26+
return _input_model_sql
27+
28+
@mock.patch.dict(os.environ, {"DBT_EXPERIMENTAL_SAMPLE_MODE": "True"})
29+
@freezegun.freeze_time("2025-01-03T02:03:0Z")
30+
def test_sample_mode(self, project) -> None:
31+
_ = run_dbt(["run"])
32+
self.assert_row_count(
33+
project=project,
34+
relation_name="model_that_samples_input_sql",
35+
expected_row_count=3,
36+
)
37+
38+
_ = run_dbt(["run", "--sample=1 day"])
39+
self.assert_row_count(
40+
project=project,
41+
relation_name="model_that_samples_input_sql",
42+
expected_row_count=2,
43+
)

0 commit comments

Comments
 (0)