Merge pull request #1089 from James226/master

Add support for serialising UUID type within MSSQL #961
This commit is contained in:
Arik Fraimovich
2016-06-01 15:14:59 +03:00

View File

@@ -1,6 +1,7 @@
import json
import logging
import sys
import uuid
from redash.query_runner import *
from redash.utils import JSONEncoder
@@ -22,6 +23,12 @@ types_map = {
5: TYPE_FLOAT,
}
class MSSQLJSONEncoder(JSONEncoder):
def default(self, o):
if isinstance(o, uuid.UUID):
return str(o)
return super(MSSQLJSONEncoder, self).default(o)
class SqlServer(BaseSQLQueryRunner):
@classmethod
def configuration_schema(cls):
@@ -123,7 +130,7 @@ class SqlServer(BaseSQLQueryRunner):
rows = [dict(zip((c['name'] for c in columns), row)) for row in data]
data = {'columns': columns, 'rows': rows}
json_data = json.dumps(data, cls=JSONEncoder)
json_data = json.dumps(data, cls=MSSQLJSONEncoder)
error = None
else:
error = "No data was returned."