My datamart is in an old mysql db (5.6.35). I am able to setup the db
connection through Superset UI, and I am able to connect to the db, but
whenever I try to add a new table as a datasource I get the following:

*2017-08-28 11:46:20,123:ERROR:root:(_mysql_exceptions.ProgrammingError)
(1064, "You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'FROM currency_fact\nLIMIT 50000' at line 2") [SQL: u'SELECT\nFROM
currency_fact\nLIMIT 50000']*
*Traceback (most recent call last):*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/superset/connectors/sqla/models.py",
line 559, in query*
*    df = self.database.get_df(sql, self.schema)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/superset/models/core.py",
line 582, in get_df*
*    df = pd.read_sql(sql, eng)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/pandas/io/sql.py",
line 416, in read_sql*
*    chunksize=chunksize)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/pandas/io/sql.py",
line 1087, in read_query*
*    result = self.execute(*args)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/pandas/io/sql.py",
line 978, in execute*
*    return self.connectable.execute(*args, **kwargs)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 2064, in execute*
*    return connection.execute(statement, *multiparams, **params)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 939, in execute*
*    return self._execute_text(object, multiparams, params)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1097, in _execute_text*
*    statement, parameters*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1189, in _execute_context*
*    context)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1402, in _handle_dbapi_exception*
*    exc_info*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py",
line 203, in raise_from_cause*
*    reraise(type(exception), exception, tb=exc_tb, cause=cause)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",
line 1182, in _execute_context*
*    context)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py",
line 470, in do_execute*
*    cursor.execute(statement, parameters)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/MySQLdb/cursors.py",
line 250, in execute*
*    self.errorhandler(self, exc, value)*
*  File
"/home/erisadervishi/venv/local/lib/python2.7/site-packages/MySQLdb/connections.py",
line 50, in defaulterrorhandler*
*    raise errorvalue*
*ProgrammingError: (_mysql_exceptions.ProgrammingError) (1064, "You have an
error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near 'FROM currency_fact\nLIMIT
50000' at line 2") [SQL: u'SELECT\nFROM currency_fact\nLIMIT 50000']*
*2017-08-28 11:46:20,126:INFO:root:Caching for the next 86400 seconds*


Might that be because I am running in an older version of mysql? Superset
is running in a separate node where I have installed the latest version of
mysql which serves as the metadata db for superset, and I am as well
running the superset examples there, and I do not get these errors. Is
there any config setting I am missing when setting up the connection with
the datamart that can help me escape the new lines or expand them before
the query is executed?

Thanks,
Erisa

Reply via email to