Selaa lähdekoodia

[beeswax] Support NaN and Infinity values from HiveServer2 API

Will print:
  Infinity
  -Infinity
  NaN
Romain Rigaux 10 vuotta sitten
vanhempi
commit
9fc5add
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 5 1
      apps/beeswax/src/beeswax/views.py

+ 5 - 1
apps/beeswax/src/beeswax/views.py

@@ -17,6 +17,7 @@
 
 
 import json
 import json
 import logging
 import logging
+import math
 import re
 import re
 import sys
 import sys
 import time
 import time
@@ -474,7 +475,10 @@ def view_results(request, id, first_row=0):
         escaped_row = []
         escaped_row = []
         for field in row:
         for field in row:
           if isinstance(field, (int, long, float, complex, bool)):
           if isinstance(field, (int, long, float, complex, bool)):
-            escaped_field = field
+            if math.isnan(field) or math.isinf(field):
+              escaped_field = json.dumps(field)
+            else:
+              escaped_field = field
           elif field is None:
           elif field is None:
             escaped_field = 'NULL'
             escaped_field = 'NULL'
           else:
           else: