mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
fix: SQL label missing for non-group-by queries (#29420)
This commit is contained in:
@@ -1683,7 +1683,9 @@ class ExploreMixin: # pylint: disable=too-many-public-methods
|
||||
|
||||
select_exprs.append(
|
||||
self.convert_tbl_column_to_sqla_col(
|
||||
columns_by_name[selected], template_processor=template_processor
|
||||
columns_by_name[selected],
|
||||
template_processor=template_processor,
|
||||
label=_column_label,
|
||||
)
|
||||
if isinstance(selected, str) and selected in columns_by_name
|
||||
else self.make_sqla_column_compatible(
|
||||
|
||||
@@ -556,6 +556,29 @@ class TestSqlaTableModel(SupersetTestCase):
|
||||
|
||||
self.assertTrue("Metric 'invalid' does not exist", context.exception)
|
||||
|
||||
def test_query_label_without_group_by(self):
|
||||
tbl = self.get_table(name="birth_names")
|
||||
query_obj = dict(
|
||||
groupby=[],
|
||||
columns=[
|
||||
"gender",
|
||||
{
|
||||
"label": "Given Name",
|
||||
"sqlExpression": "name",
|
||||
"expressionType": "SQL",
|
||||
},
|
||||
],
|
||||
filter=[],
|
||||
is_timeseries=False,
|
||||
granularity=None,
|
||||
from_dttm=None,
|
||||
to_dttm=None,
|
||||
extras={},
|
||||
)
|
||||
|
||||
sql = tbl.get_query_str(query_obj)
|
||||
self.assertRegex(sql, r'name AS ["`]?Given Name["`]?')
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_data_for_slices_with_no_query_context(self):
|
||||
tbl = self.get_table(name="birth_names")
|
||||
|
||||
Reference in New Issue
Block a user