From 668d42fd2896e57f5d8355538fef306bda3afa26 Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Tue, 1 May 2018 11:18:19 -0700 Subject: [PATCH] Replace NaN/Infinity with null (#4908) (cherry picked from commit 9c53323c9319165c2ed3a0bbfa493a4fd01738a9) --- superset/views/core.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/superset/views/core.py b/superset/views/core.py index b60d91c485ca7..feb8bb4911b76 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -5,7 +5,6 @@ from __future__ import unicode_literals from datetime import datetime, timedelta -import json import logging import os import re @@ -23,6 +22,7 @@ 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 @@ -2326,7 +2326,8 @@ def results(self, key): 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']) @@ -2434,7 +2435,7 @@ def sql_json(self): 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 @@ -2452,7 +2453,7 @@ def sql_json(self): 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))