Skip to content

Commit 5b63ce9

Browse files
Upgrade to DSI 0.9.0 for more robust saved query support (#11808) (#11811)
* Upgrade to DSI 0.9.0 Note this new version has some breaking changes (changes to class names). This won't impact semantic manifest parsing. The changes in the new version will be used to support order_by and limit on saved queries. * Changelog * Update test saved query (cherry picked from commit 31d974f) Co-authored-by: Courtney Holcomb <[email protected]>
1 parent 222d604 commit 5b63ce9

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
kind: Dependencies
2+
body: Upgrade to dbt-semantic-interfaces==0.9.0 for more robust saved query support.
3+
time: 2025-07-09T13:22:13.688162-07:00
4+
custom:
5+
Author: courtneyholcomb
6+
Issue: "11809"

core/dbt/artifacts/resources/v1/semantic_layer_components.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
from typing import List, Sequence, Tuple
33

44
from dbt_common.dataclass_schema import dbtClassMixin
5-
from dbt_semantic_interfaces.call_parameter_sets import FilterCallParameterSets
6-
from dbt_semantic_interfaces.parsing.where_filter.where_filter_parser import (
7-
WhereFilterParser,
5+
from dbt_semantic_interfaces.call_parameter_sets import JinjaCallParameterSets
6+
from dbt_semantic_interfaces.parsing.where_filter.jinja_object_parser import (
7+
JinjaObjectParser,
8+
QueryItemLocation,
89
)
910

1011

@@ -14,9 +15,11 @@ class WhereFilter(dbtClassMixin):
1415

1516
def call_parameter_sets(
1617
self, custom_granularity_names: Sequence[str]
17-
) -> FilterCallParameterSets:
18-
return WhereFilterParser.parse_call_parameter_sets(
19-
self.where_sql_template, custom_granularity_names=custom_granularity_names
18+
) -> JinjaCallParameterSets:
19+
return JinjaObjectParser.parse_call_parameter_sets(
20+
self.where_sql_template,
21+
custom_granularity_names=custom_granularity_names,
22+
query_item_location=QueryItemLocation.NON_ORDER_BY,
2023
)
2124

2225

@@ -26,7 +29,7 @@ class WhereFilterIntersection(dbtClassMixin):
2629

2730
def filter_expression_parameter_sets(
2831
self, custom_granularity_names: Sequence[str]
29-
) -> Sequence[Tuple[str, FilterCallParameterSets]]:
32+
) -> Sequence[Tuple[str, JinjaCallParameterSets]]:
3033
raise NotImplementedError
3134

3235

core/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
# These are major-version-0 packages also maintained by dbt-labs.
7171
# Accept patches but avoid automatically updating past a set minor version range.
7272
"dbt-extractor>=0.5.0,<=0.6",
73-
"dbt-semantic-interfaces>=0.8.3,<0.9",
73+
"dbt-semantic-interfaces>=0.9.0,<0.10",
7474
# Minor versions for these are expected to be backwards-compatible
7575
"dbt-common>=1.25.1,<2.0",
7676
"dbt-adapters>=1.15.2,<2.0",

tests/functional/saved_queries/fixtures.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
- "{{ TimeDimension('id__ds', 'DAY') }} >= '2023-01-01'"
1818
- "{{ Metric('txn_revenue', ['id']) }} > 1"
1919
order_by:
20-
- "Metric('simple_metric')"
21-
- "Dimension('id__ds')"
20+
- Metric('simple_metric').descending(True)
21+
- "Dimension('id__ds').descending(True)"
2222
limit: 10
2323
exports:
2424
- name: my_export

0 commit comments

Comments
 (0)