Preprocess the where clauses. (#2405)

This commit is contained in:
Bogdan 2017-03-14 13:28:05 -07:00 committed by GitHub
parent 5e43d074c3
commit 357773c631
2 changed files with 3 additions and 6 deletions

View File

@ -517,6 +517,7 @@ class SqlaTable(Model, BaseDatasource):
)
logging.info(sql)
sql = sqlparse.format(sql, reindent=True)
sql = self.database.db_engine_spec.sql_preprocessor(sql)
return sql
def query(self, query_obj):

View File

@ -115,9 +115,9 @@ class BaseEngineSpec(object):
def sql_preprocessor(cls, sql):
"""If the SQL needs to be altered prior to running it
For example Presto needs to double `%` characters
For example db api needs to double `%` characters
"""
return sql
return sql.replace('%', '%%')
@classmethod
def patch(cls):
@ -279,10 +279,6 @@ class PrestoEngineSpec(BaseEngineSpec):
from superset.db_engines import presto as patched_presto
presto.Cursor.cancel = patched_presto.cancel
@classmethod
def sql_preprocessor(cls, sql):
return sql.replace('%', '%%')
@classmethod
def convert_dttm(cls, target_type, dttm):
tt = target_type.upper()