Skip to content

Bar Chart issue after upgrading to version 5.0 #35505

@khaledjameel27

Description

@khaledjameel27

Bug description

After upgrading from Superset 4.1.1 to Superset 5.0.0, some of the bar chart are not working with the following error
Unable to parse SQL: Error parsing near 'AS' at line 1:39
SELECT "DATE" - (DAY("DATE")-1) DAYS AS "DATE", sum("TOTAL_FEE") AS "SUM(TOTAL_FEE)"

and here is the logs,

2025-10-05 11:05:25,779:WARNING:superset.views.error_handling:SupersetErrorException
Traceback (most recent call last):
File "/root/superset-venv/lib/python3.10/site-packages/superset/sql/parse.py", line 267, in _parse
return sqlglot.parse(script, dialect=dialect)
File "/root/superset-venv/lib/python3.10/site-packages/sqlglot/init.py", line 102, in parse
return Dialect.get_or_raise(read or dialect).parse(sql, **opts)
File "/root/superset-venv/lib/python3.10/site-packages/sqlglot/dialects/dialect.py", line 1022, in parse
return self.parser(**opts).parse(self.tokenize(sql), sql)
File "/root/superset-venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1592, in parse
return self._parse(
File "/root/superset-venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1664, in _parse
self.raise_error("Invalid expression / Unexpected token")
File "/root/superset-venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1705, in raise_error
raise error
sqlglot.errors.ParseError: Invalid expression / Unexpected token. Line 1, Col: 39.
SELECT "DATE" - (DAY("DATE")-1) DAYS AS "DATE", sum("TOTAL_FEE") AS "SUM(TOTAL_FEE)"
FROM (select l.NUMBER , DATE(l.date_created) as D

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/root/superset-venv/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "/root/superset-venv/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/root/superset-venv/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
return f(self, *args, **kwargs)
File "/root/superset-venv/lib/python3.10/site-packages/superset/views/base_api.py", line 120, in wraps
duration, response = time_function(f, self, *args, **kwargs)
File "/root/superset-venv/lib/python3.10/site-packages/superset/utils/core.py", line 1369, in time_function
response = func(*args, **kwargs)
File "/root/superset-venv/lib/python3.10/site-packages/superset/utils/log.py", line 304, in wrapper
value = f(*args, **kwargs)
File "/root/superset-venv/lib/python3.10/site-packages/superset/charts/data/api.py", line 260, in data
return self._get_data_response(
File "/root/superset-venv/lib/python3.10/site-packages/superset/utils/log.py", line 304, in wrapper
value = f(*args, **kwargs)
File "/root/superset-venv/lib/python3.10/site-packages/superset/charts/data/api.py", line 423, in _get_data_response
result = command.run(force_cached=force_cached)
File "/root/superset-venv/lib/python3.10/site-packages/superset/commands/chart/data/get_data_command.py", line 45, in run
payload = self._query_context.get_payload(
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_context.py", line 102, in get_payload
return self._processor.get_payload(cache_query_context, force_cached)
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_context_processor.py", line 752, in get_payload
query_results = [
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_context_processor.py", line 753, in
get_query_results(
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_actions.py", line 227, in get_query_results
return result_func(query_context, query_obj, force_cached)
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_actions.py", line 103, in _get_full
payload = query_context.get_df_payload(query_obj, force_cached=force_cached)
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_context.py", line 123, in get_df_payload
return self.processor.get_df_payload(
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_context_processor.py", line 162, in get_df_payload
query_result = self.get_query_result(query_obj)
File "/root/superset-venv/lib/python3.10/site-packages/superset/common/query_context_processor.py", line 265, in get_query_result
result = query_context.datasource.query(query_object.to_dict())
File "/root/superset-venv/lib/python3.10/site-packages/superset/connectors/sqla/models.py", line 1748, in query
df = self.database.get_df(
File "/root/superset-venv/lib/python3.10/site-packages/superset/models/core.py", line 706, in get_df
self.db_engine_spec.execute(cursor, sql
, self)
File "/root/superset-venv/lib/python3.10/site-packages/superset/db_engine_specs/base.py", line 1858, in execute
if sql_parse.check_sql_functions_exist(query, disallowed_functions, cls.engine):
File "/root/superset-venv/lib/python3.10/site-packages/superset/sql_parse.py", line 183, in check_sql_functions_exist
return SQLScript(sql, engine=engine).check_functions_present(function_list)
File "/root/superset-venv/lib/python3.10/site-packages/superset/sql/parse.py", line 670, in init
self.statements = statement_class.split_script(script, engine)
File "/root/superset-venv/lib/python3.10/site-packages/superset/sql/parse.py", line 327, in split_script
ast = cls._parse(remainder, engine)[0]
File "/root/superset-venv/lib/python3.10/site-packages/superset/sql/parse.py", line 270, in _parse
raise SupersetParseError(
superset.exceptions.SupersetParseError: Error parsing near 'AS' at line 1:39

Screenshots/recordings

Image

Superset version

5.0.0

Python version

3.10

Node version

I don't know

Browser

Chrome

Additional context

No response

Checklist

  • I have searched Superset docs and Slack and didn't find a solution to my problem.
  • I have searched the GitHub issue tracker and didn't find a similar bug report.
  • I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    review:checkpointLast PR reviewed during the daily review standupviz:charts:barRelated to the Bar chart

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions