Properly handle NULL columns in aggregation functions.
In particular, sum(1, NULL, 2) should be 3, where it was NaN.
diff --git a/render.js b/render.js
index f9504c9..3d3ba34 100644
--- a/render.js
+++ b/render.js
@@ -245,7 +245,8 @@
},
sum: function(l) {
- var acc = 0;
+ var acc;
+ if (l.length) acc = 0;
for (var i in l) {
acc += parseFloat(l[i]);
}
@@ -295,7 +296,9 @@
var outcoli = key.length + parseInt(valuei);
var cell = row[incoli];
if (!orow[outcoli]) orow[outcoli] = [];
- orow[outcoli].push(cell);
+ if (cell != null) {
+ orow[outcoli].push(cell);
+ }
}
};