Skip to content

Commit 56c75c4

Browse files
committed
Add test case for ambiguous join path.
1 parent d584892 commit 56c75c4

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

tests_metricflow/test_sg_error.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from __future__ import annotations
2+
3+
import logging
4+
5+
from metricflow_semantics.test_helpers.manifest_helpers import (
6+
mf_load_manifest_from_yaml_directory,
7+
)
8+
from metricflow_semantics.test_helpers.semantic_manifest_yamls.sg_08_ambiguous_multi_hop_join import (
9+
SG_08_AMBIGUOUS_MULTI_HOP_JOIN,
10+
)
11+
12+
from metricflow.protocols.sql_client import SqlClient
13+
from tests_metricflow.performance.test_profiling_examples import mf_explain_saved_query
14+
15+
logger = logging.getLogger(__name__)
16+
17+
18+
def test_compare_ambiguous_join_path(sql_client: SqlClient) -> None:
19+
"""Compare `explain` output between the legacy resolver and the SG resolver for an ambiguous join path."""
20+
manifest = mf_load_manifest_from_yaml_directory(
21+
SG_08_AMBIGUOUS_MULTI_HOP_JOIN.directory, template_mapping={"source_schema": "dummy_schema"}
22+
)
23+
explain_result = mf_explain_saved_query(
24+
manifest, sql_client, saved_query_names=["bookings_saved_query"], use_semantic_graph=False
25+
)
26+
assert explain_result is not None
27+
28+
explain_result = mf_explain_saved_query(
29+
manifest, sql_client, saved_query_names=["bookings_saved_query"], use_semantic_graph=True
30+
)
31+
assert explain_result is None

0 commit comments

Comments
 (0)