Merge pull request #2136 from doddjc21/patch-1

Update oracle.py
This commit is contained in:
Arik Fraimovich
2017-12-11 16:34:42 +02:00
committed by GitHub

View File

@@ -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