serverdevil commented on issue #16723:
URL: https://github.com/apache/superset/issues/16723#issuecomment-3043656400

   > I'm getting errors with Superset 4.1.2 and AWS Opensearch. I've tried 
[@Unanimad](https://github.com/Unanimad) 's solution and installed the required 
libraries in the docker file:
   > 
   > pip install elasticsearch==7.13.4 sqlalchemy==1.4.9 
elasticsearch-dbapi[opendistro] opensearch-py
   > 
   > I used the following URL syntax for database connection:
   > 
   > 
odelasticsearch+https://username:password$@my-opensearch-domain.my-region.es.amazonaws.com:443
   > 
   > I can create a database connection, but while trying to create a dataset, 
I get the following error (the index that I'm trying to connect is named 
"cloudwatch", and that's an alias btw) (there are backticks around default 
keyword, formatting removes them):
   > 
   > > 2025-05-26 
07:51:37,370:WARNING:superset.views.error_handling:SupersetErrorException
   > > Traceback (most recent call last):
   > > File "/app/superset/sql/parse.py", line 257, in _parse
   > > return sqlglot.parse(script, dialect=dialect)
   > > File "/usr/local/lib/python3.10/site-packages/sqlglot/**init**.py", line 
102, in parse
   > > return Dialect.get_or_raise(read or dialect).parse(sql, **opts)
   > > File 
"/usr/local/lib/python3.10/site-packages/sqlglot/dialects/dialect.py", line 
919, in parse
   > > return self.parser(**opts).parse(self.tokenize(sql), sql)
   > > File "/usr/local/lib/python3.10/site-packages/sqlglot/parser.py", line 
1395, in parse
   > > return self._parse(
   > > File "/usr/local/lib/python3.10/site-packages/sqlglot/parser.py", line 
1467, in _parse
   > > self.raise_error("Invalid expression / Unexpected token")
   > > File "/usr/local/lib/python3.10/site-packages/sqlglot/parser.py", line 
1508, in raise_error
   > > raise error
   > > sqlglot.errors.ParseError: Invalid expression / Unexpected token. Line 
2, Col: 14.
   > > SELECT *
   > > FROM `` `default` ``.cloudwatch
   > > LIMIT 100
   > > The above exception was the direct cause of the following exception:
   > > Traceback (most recent call last):
   > > File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, 
in full_dispatch_request
   > > rv = self.dispatch_request()
   > > File "/usr/local/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 
"/usr/local/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py",
 line 95, in wraps
   > > return f(self, *args, **kwargs)
   > > File "/app/superset/views/base_api.py", line 119, in wraps
   > > duration, response = time_function(f, self, *args, **kwargs)
   > > File "/app/superset/utils/core.py", line 1364, in time_function
   > > response = func(*args, **kwargs)
   > > File "/app/superset/utils/log.py", line 303, in wrapper
   > > value = f(*args, **kwargs)
   > > File "/app/superset/databases/api.py", line 1024, in table_metadata
   > > payload = database.db_engine_spec.get_table_metadata(database, table)
   > > File "/app/superset/db_engine_specs/base.py", line 1079, in 
get_table_metadata
   > > return get_table_metadata(database, table)
   > > File "/app/superset/databases/utils.py", line 100, in get_table_metadata
   > > "selectStar": database.select_star(
   > > File "/app/superset/models/core.py", line 719, in select_star
   > > return self.db_engine_spec.select_star(
   > > File "/app/superset/db_engine_specs/base.py", line 1689, in select_star
   > > sql = SQLScript(sql, engine=cls.engine).format()
   > > File "/app/superset/sql/parse.py", line 612, in **init**
   > > self.statements = statement_class.split_script(script, engine)
   > > File "/app/superset/sql/parse.py", line 317, in split_script
   > > ast = cls._parse(remainder, engine)[0]
   > > File "/app/superset/sql/parse.py", line 260, in _parse
   > > raise SupersetParseError(
   > > superset.exceptions.SupersetParseError: Error parsing near '`' at line 
2:14
   
   +1. Same issue with a local opensearch deployment. How do I control what 
dialect sqlglot's usage in Superset assumes for this scenario?
   Any help or nudge towards further investigation would be helpful.
   
   versions in play:
   superset: 5.0.0
   opensearch: 3.1.0
   opensearch-dbapi and opensearch-dbapi[opendistro] added to superset image
   
   ```superset           | 2025-07-07 06:22:33,293:INFO:elasticsearch:GET 
http://opensearch:9200/logs/_mapping?format=json [status:200 request:0.005s]
   superset           | 2025-07-07 
06:22:33,319:WARNING:superset.views.error_handling:SupersetErrorException
   superset           | Traceback (most recent call last):
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 267, in 
_parse
   superset           |     return sqlglot.parse(script, dialect=dialect)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/sqlglot/__init__.py", line 102, in 
parse
   superset           |     return Dialect.get_or_raise(read or 
dialect).parse(sql, **opts)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/sqlglot/dialects/dialect.py", line 
991, in parse
   superset           |     return 
self.parser(**opts).parse(self.tokenize(sql), sql)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1507, in parse
   superset           |     return self._parse(
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1579, in 
_parse
   superset           |     self.raise_error("Invalid expression / Unexpected 
token")
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1620, in 
raise_error
   superset           |     raise error
   superset           | sqlglot.errors.ParseError: Invalid expression / 
Unexpected token. Line 2, Col: 14.
   superset           |   SELECT * 
   superset           | FROM `default`.logs
   superset           |  LIMIT 100
   superset           | 
   superset           | The above exception was the direct cause of the 
following exception:
   superset           | 
   superset           | Traceback (most recent call last):
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/flask/app.py", line 1484, in 
full_dispatch_request
   superset           |     rv = self.dispatch_request()
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/flask/app.py", line 1469, in 
dispatch_request
   superset           |     return 
self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py",
 line 109, in wraps
   superset           |     return f(self, *args, **kwargs)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/views/base_api.py", line 120, 
in wraps
   superset           |     duration, response = time_function(f, self, *args, 
**kwargs)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/utils/core.py", line 1369, in 
time_function
   superset           |     response = func(*args, **kwargs)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/utils/log.py", line 304, in 
wrapper
   superset           |     value = f(*args, **kwargs)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/databases/api.py", line 1013, 
in table_metadata
   superset           |     payload = 
database.db_engine_spec.get_table_metadata(database, table)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/db_engine_specs/base.py", 
line 1087, in get_table_metadata
   superset           |     return get_table_metadata(database, table)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/databases/utils.py", line 
100, in get_table_metadata
   superset           |     "selectStar": database.select_star(
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/models/core.py", line 771, in 
select_star
   superset           |     return self.db_engine_spec.select_star(
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/db_engine_specs/base.py", 
line 1706, in select_star
   superset           |     sql = SQLScript(sql, engine=cls.engine).format()
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 670, in 
__init__
   superset           |     self.statements = 
statement_class.split_script(script, engine)
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 327, in 
split_script
   superset           |     ast = cls._parse(remainder, engine)[0]
   superset           |   File 
"/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 270, in 
_parse
   superset           |     raise SupersetParseError(
   superset           | superset.exceptions.SupersetParseError: Error parsing 
near '`' at line 2:14```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org
For additional commands, e-mail: notifications-h...@superset.apache.org

Reply via email to