Fix: TreasureData data source - deduplicate column names (#2867)

* Fix: TreasureData data source - deduplicate column names

* Maping types
This commit is contained in:
Hiroka Zaitsu
2018-10-18 15:43:28 +09:00
committed by Arik Fraimovich
parent 869841b2ac
commit 6c364369bb

View File

@@ -101,16 +101,13 @@ class TreasureData(BaseQueryRunner):
cursor = connection.cursor()
try:
cursor.execute(query)
columns_data = [(row[0], cursor.show_job()['hive_result_schema'][i][1]) for i,row in enumerate(cursor.description)]
columns = [{'name': col[0],
'friendly_name': col[0],
'type': TD_TYPES_MAPPING.get(col[1], None)} for col in columns_data]
columns_tuples = [(i[0], TD_TYPES_MAPPING.get(i[1], None)) for i in cursor.show_job()['hive_result_schema']]
columns = self.fetch_columns(columns_tuples)
if cursor.rowcount == 0:
rows = []
else:
rows = [dict(zip(([c[0] for c in columns_data]), r)) for i, r in enumerate(cursor.fetchall())]
rows = [dict(zip(([c['name'] for c in columns]), r)) for i, r in enumerate(cursor.fetchall())]
data = {'columns': columns, 'rows': rows}
json_data = json_dumps(data)
error = None