Skip to content

Commit 65b2f2b

Browse files
Remove unnecessary subqueries
These should not be necessary, and using subqueries without aliases in Postgres causes an error.
1 parent 53b948e commit 65b2f2b

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

dbtsl/api/adbc/protocol.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ def _serialize_val(cls, val: Any) -> str:
2222
return str(val)
2323

2424
if isinstance(val, list):
25-
list_str = ",".join(cls._serialize_val(list_val) for list_val in val) # pyright: ignore[reportUnknownVariableType]
25+
list_str = ",".join(
26+
cls._serialize_val(list_val) for list_val in val
27+
) # pyright: ignore[reportUnknownVariableType]
2628
return f"[{list_str}]"
2729

2830
if isinstance(val, OrderByMetric):
@@ -83,10 +85,10 @@ def get_query_sql(cls, params: QueryParameters) -> str:
8385
strict_params_dict = {field: getattr(strict_params, field) for field in params_fields}
8486

8587
serialized_params = cls._serialize_params_dict(strict_params_dict, params_fields)
86-
return f"SELECT * FROM {{{{ semantic_layer.query({serialized_params}) }}}}"
88+
return f"{{{{ semantic_layer.query({serialized_params}) }}}}"
8789

8890
@classmethod
8991
def get_dimension_values_sql(cls, params: DimensionValuesQueryParameters) -> str:
9092
"""Get the SQL that will be sent via Arrow Flight to the server based on dimension values query parameters."""
9193
serialized_params = cls._serialize_params_dict(params, list(DimensionValuesQueryParameters.__optional_keys__))
92-
return f"SELECT * FROM {{{{ semantic_layer.dimension_values({serialized_params}) }}}}"
94+
return f"{{{{ semantic_layer.dimension_values({serialized_params}) }}}}"

tests/api/adbc/test_protocol.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ def test_serialize_query_params_complete_query() -> None:
8383
def test_get_query_sql_simple_query() -> None:
8484
sql = ADBCProtocol.get_query_sql(params={"metrics": ["a", "b"], "order_by": ["-a"]})
8585
expected = (
86-
'SELECT * FROM {{ semantic_layer.query(metrics=["a","b"],'
87-
'order_by=[Metric("a").descending(True)],read_cache=True) }}'
86+
'{{ semantic_layer.query(metrics=["a","b"],' 'order_by=[Metric("a").descending(True)],read_cache=True) }}'
8887
)
8988
assert sql == expected
9089

@@ -100,13 +99,13 @@ def test_get_query_sql_group_by_param() -> None:
10099
}
101100
)
102101
expected = (
103-
"SELECT * FROM {{ semantic_layer.query("
102+
"{{ semantic_layer.query("
104103
'group_by=[Dimension("c").grain("day"),Entity("d").grain("week")],metrics=["a","b"],read_cache=True) }}'
105104
)
106105
assert sql == expected
107106

108107

109108
def test_get_query_sql_dimension_values_query() -> None:
110109
sql = ADBCProtocol.get_dimension_values_sql(params={"metrics": ["a", "b"]})
111-
expected = 'SELECT * FROM {{ semantic_layer.dimension_values(metrics=["a","b"]) }}'
110+
expected = '{{ semantic_layer.dimension_values(metrics=["a","b"]) }}'
112111
assert sql == expected

0 commit comments

Comments
 (0)