                    :histogram
                    (let [interval (-> agg-data :interval float)]
                      [{:agg (format "FLOOR(%s / %.1f)" field interval)
-                       :col (gen-col-name field "hist" (:interval agg-data))}])
+                       :col (gen-col-name "hist")}])
                    
                    :date_histogram
                    (let [_            (assert (= \d (-> agg-data :interval last)) "Only days are supported for now")
-                         interval     (-> agg-data :interval butlast (#(Float. (apply str %))))
+                         to-float     (fn [^String s] (Float. s))
+                         interval     (->> agg-data :interval butlast (apply str) to-float)
                          interval-div (if (= 1.0 interval) "" (format " / %.1f" interval))]
                      [{:agg (format "FLOOR(CAST(CAST(%s AS datetime) AS float)%s)" field interval-div)
-                       :col (gen-col-name field "datehist" (:interval agg-data))}]))}
+                       :col (gen-col-name "datehist")}]))}
                 
                 {:metrics
                  (cond

                   _         (u/my-println "Finished " [filter-name aggregation-name n-parallel] " in " took " ms, avg " avg " ms")
                   
                   p-took    (->> results (map #(-> % :took (* 0.001) Math/round (* 0.001))) percentiles)
                   p-hits    (->> results (map :hits) percentiles)]
               {:n-parallel    n-parallel
                :filter        filter-name
                :aggs          aggregation-name

                                               (clojure.string/replace #"doc\['([^']+)'\]\.value" "$1")
                                               (clojure.string/replace #"([a-z])-([a-z])"         "$1_$2")))))
              
              gen-col-name (fn [name] (format "%s_%s_%s" field name (:interval agg-data)))
              
              this-agg  
              (if (group-by? agg-type)
