mirror of
https://github.com/getredash/redash.git
synced 2025-12-25 01:03:20 -05:00
@@ -142,17 +142,19 @@ class Oracle(BaseSQLQueryRunner):
|
||||
|
||||
try:
|
||||
cursor.execute(query)
|
||||
|
||||
rows_count = cursor.rowcount
|
||||
if cursor.description is not None:
|
||||
columns = self.fetch_columns([(i[0], Oracle.get_col_type(i[1], i[5])) for i in cursor.description])
|
||||
rows = [dict(zip((c['name'] for c in columns), row)) for row in cursor]
|
||||
|
||||
data = {'columns': columns, 'rows': rows}
|
||||
error = None
|
||||
json_data = json.dumps(data, cls=JSONEncoder)
|
||||
else:
|
||||
error = 'Query completed but it returned no data.'
|
||||
json_data = None
|
||||
columns = [{'name': 'Row(s) Affected', 'type': 'TYPE_INTEGER'}]
|
||||
rows = [{'Row(s) Affected': rows_count}]
|
||||
data = {'columns': columns, 'rows': rows}
|
||||
json_data = json.dumps(data, cls=JSONEncoder)
|
||||
connection.commit()
|
||||
except cx_Oracle.DatabaseError as err:
|
||||
error = u"Query failed. {}.".format(err.message)
|
||||
json_data = None
|
||||
|
||||
Reference in New Issue
Block a user