This is an automated email from the ASF dual-hosted git repository.

michaelsmolina pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 3edbb9fdbd468393f20defc3d7f67cab5292ae18
Author: Beto Dealmeida <[email protected]>
AuthorDate: Tue Nov 28 15:11:20 2023 -0500

    fix: alias column when fetching values (#26120)
    
    (cherry picked from commit 7223633da600fb3973834cb24d977f194a76f328)
---
 superset/models/helpers.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/superset/models/helpers.py b/superset/models/helpers.py
index 45d1b98406..13b4edb3bc 100644
--- a/superset/models/helpers.py
+++ b/superset/models/helpers.py
@@ -1343,7 +1343,13 @@ class ExploreMixin:  # pylint: 
disable=too-many-public-methods
         tbl, cte = self.get_from_clause(tp)
 
         qry = (
-            sa.select([target_col.get_sqla_col(template_processor=tp)])
+            sa.select(
+                # The alias (label) here is important because some dialects 
will
+                # automatically add a random alias to the projection because 
of the
+                # call to DISTINCT; others will uppercase the column names. 
This
+                # gives us a deterministic column name in the dataframe.
+                
[target_col.get_sqla_col(template_processor=tp).label("column_values")]
+            )
             .select_from(tbl)
             .distinct()
         )
@@ -1359,7 +1365,7 @@ class ExploreMixin:  # pylint: 
disable=too-many-public-methods
             sql = self.mutate_query_from_config(sql)
 
             df = pd.read_sql_query(sql=sql, con=engine)
-            return df[denormalized_col_name].to_list()
+            return df["column_values"].to_list()
 
     def get_timestamp_expression(
         self,

Reply via email to