Replace NaN/Infinity with null (#4908)

This commit is contained in:
Beto Dealmeida 2018-05-01 11:18:19 -07:00 committed by Maxime Beauchemin
parent 8c94e1f710
commit 9c53323c93
1 changed files with 5 additions and 4 deletions

View File

@ -6,7 +6,6 @@ from __future__ import print_function
from __future__ import unicode_literals
from datetime import datetime, timedelta
import json
import logging
import os
import re
@ -24,6 +23,7 @@ from flask_appbuilder.security.decorators import has_access, has_access_api
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
import pandas as pd
import simplejson as json
from six import text_type
import sqlalchemy as sqla
from sqlalchemy import create_engine
@ -2327,7 +2327,8 @@ class Superset(BaseSupersetView):
payload_json = json.loads(payload)
payload_json['data'] = payload_json['data'][:display_limit]
return json_success(
json.dumps(payload_json, default=utils.json_iso_dttm_ser))
json.dumps(
payload_json, default=utils.json_iso_dttm_ser, ignore_nan=True))
@has_access_api
@expose('/stop_query/', methods=['POST'])
@ -2435,7 +2436,7 @@ class Superset(BaseSupersetView):
resp = json_success(json.dumps(
{'query': query.to_dict()}, default=utils.json_int_dttm_ser,
allow_nan=False), status=202)
ignore_nan=True), status=202)
session.commit()
return resp
@ -2453,7 +2454,7 @@ class Superset(BaseSupersetView):
rendered_query,
return_results=True)
payload = json.dumps(
data, default=utils.pessimistic_json_iso_dttm_ser)
data, default=utils.pessimistic_json_iso_dttm_ser, ignore_nan=True)
except Exception as e:
logging.exception(e)
return json_error_response('{}'.format(e))