diff --git a/src/brad/front_end/front_end.py b/src/brad/front_end/front_end.py index 6af0b131..736f123f 100644 --- a/src/brad/front_end/front_end.py +++ b/src/brad/front_end/front_end.py @@ -453,8 +453,15 @@ async def _run_query_impl( else: connection = session.engines.get_reader_connection(engine_to_use) cursor = connection.cursor_sync() + # HACK: To work around dialect differences between + # Athena/Aurora/Redshift for now. This should be replaced by + # a more robust translation layer. + if engine_to_use == Engine.Athena and "ascii" in query_rep.raw_query: + translated_query = query_rep.raw_query.replace("ascii", "codepoint") + else: + translated_query = query_rep.raw_query start = universal_now() - await cursor.execute(query_rep.raw_query) + await cursor.execute(translated_query) end = universal_now() except ( pyodbc.ProgrammingError,