mirror of
https://github.com/getredash/redash.git
synced 2025-12-19 09:27:23 -05:00
Merge pull request #1089 from James226/master
Add support for serialising UUID type within MSSQL #961
This commit is contained in:
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user