There is a somewhat similar issue that was closed earlier, but this is specifically with the csv endpoint for SQL Lab. I believe this is an issue with submitting a '%' to SqlAlchemy.
0.17.6
deployed on ubuntu 16.04.2
Using the postgresql+psycopg2 connection string to a redshift db.
I expect to get a .csv file back from the csv endpoint.
Traceback (most recent call last):
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/superset/utils.py", line 573, in wraps
return f(self, *args, **kwargs)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/superset/models/core.py", line 757, in wrapper
value = f(*args, **kwargs)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/superset/views/core.py", line 2045, in csv
df = query.database.get_df(sql, query.schema)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/superset/models/core.py", line 578, in get_df
cur = eng.execute(sql, schema=schema)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 2064, in execute
return connection.execute(statement, *multiparams, **params)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 939, in execute
return self._execute_text(object, multiparams, params)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1097, in _execute_text
statement, parameters
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1405, in _handle_dbapi_exception
util.reraise(*exc_info)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
raise value
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/home/ubuntu/virtualenvs/superset/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
TypeError: 'dict' object does not support indexing
Here is the query submitted:
SELECT firstname, lastname FROM bf_raw.bf_user
where firstname like 'A%' limit 10
Looks like this fix has been reverted in the latest superset. >22.0. The logic that moved the query to sql alchemy is now back in pandas sans raw_connection which causes a problem with the '%' character again.
Should I open a new issue with a new stack trace? Or reopen the same issue?
Most helpful comment
Looks like this fix has been reverted in the latest superset. >22.0. The logic that moved the query to sql alchemy is now back in pandas sans raw_connection which causes a problem with the '%' character again.
Should I open a new issue with a new stack trace? Or reopen the same issue?