Fix a bug in filtering of date fields.
diff --git a/render.js b/render.js
index 5548452..1f920fd 100644
--- a/render.js
+++ b/render.js
@@ -921,18 +921,18 @@
     var wantvals = [];
     for (var valuei in values) {
       if (ingrid.types[keycol] === T_NUM) {
-        wantvals.push(parseFloat(values[valuei]));
+        wantvals.push(parseFloat(values[valuei]).toString());
       } else if (ingrid.types[keycol] === T_DATE ||
                  ingrid.types[keycol] === T_DATETIME) {
-        wantvals.push(myParseDate(values[valuei]));
+        wantvals.push(myParseDate(values[valuei]).toString());
       } else {
-        wantvals.push(values[valuei]);
+        wantvals.push(values[valuei].toString());
       }
     }
 
     for (var rowi in ingrid.data) {
       var row = ingrid.data[rowi];
-      var cell = row[keycol];
+      var cell = row[keycol].toString();
       if (cell == undefined) {
         cell = null;
       }
diff --git a/t/trender.js b/t/trender.js
index bb01ede..214fca7 100644
--- a/t/trender.js
+++ b/t/trender.js
@@ -261,7 +261,24 @@
 });
 
 
-wvtest('exec', function() {
+wvtest('filter', function() {
+  var rawdata = [
+    ['a', 'b', 'c'],
+    ['2013/01/02', '2', 3],
+    ['1977/11/14', '3.5', 1]
+  ];
+  afterquery.exec('filter=b=2', rawdata, function(grid) {
+    WVPASSEQ(grid.data, [[new Date(2013,0,2), 2, 3]]);
+  });
+  afterquery.exec('filter=a=1977-11-14', rawdata, function(grid) {
+    WVPASSEQ(grid.data, [[new Date(1977,10,14), 3.5, 1]]);
+  });
+  afterquery.exec('filter=a>1977-11-14', rawdata, function(grid) {
+    WVPASSEQ(grid.data, [[new Date(2013,0,2), 2, 3]]);
+  });
+});
+
+wvtest('group', function() {
   var rawdata = [
     ['a', 'b', 'c'],
     [1, 2, 3],