diff --git a/src/metabase/api/public.clj b/src/metabase/api/public.clj
index 0e4636bf06b2f7d926a6fe311088d8846c1b74de..f9eb94bfa5880dfc522b7027911623eda3ad3536 100644
--- a/src/metabase/api/public.clj
+++ b/src/metabase/api/public.clj
@@ -92,8 +92,8 @@
 (defn public-reducedf
   "Reducer function for public data"
   [orig-reducedf]
-  (fn [metadata final-metadata context]
-    (orig-reducedf metadata (transform-results final-metadata) context)))
+  (fn [final-metadata context]
+    (orig-reducedf (transform-results final-metadata) context)))
 
 (defn- run-query-for-card-with-id-async-run-fn
   "Create the `:run` function used for [[run-query-for-card-with-id-async]] and [[public-dashcard-results-async]]."
diff --git a/src/metabase/query_processor/async.clj b/src/metabase/query_processor/async.clj
index 5b051f2602cc6aed3b2c58d0869ec47757935e92..f0aa18d2ff583d22232f524a1740ee674ee61662 100644
--- a/src/metabase/query_processor/async.clj
+++ b/src/metabase/query_processor/async.clj
@@ -27,7 +27,7 @@
     ;; and `query-hash` ourselves so the remark gets added)
     (assoc-in query [:info :query-hash] (qputil/query-hash query))))
 
-(defn- async-result-metadata-reducedf [_ result context]
+(defn- async-result-metadata-reducedf [result context]
   (let [results-metdata (or (get-in result [:data :results_metadata :columns])
                             [])]
     (context/resultf results-metdata context)))
diff --git a/src/metabase/query_processor/context.clj b/src/metabase/query_processor/context.clj
index 37802638b724def16225a6bbd68e1be79dd8b3f3..41f48d456901ffeabd60aa4361698316a26044dc 100644
--- a/src/metabase/query_processor/context.clj
+++ b/src/metabase/query_processor/context.clj
@@ -71,10 +71,10 @@
 
 (defn reducedf
   "Called in [[reducedf]] with fully reduced results. This result is passed to [[resultf]]."
-  {:arglists '([metadata reduced-rows context])}
-  [metadata reduced-rows {reducedf* :reducedf, :as context}]
+  {:arglists '([reduced-rows context])}
+  [reduced-rows {reducedf* :reducedf, :as context}]
   {:pre [(fn? reducedf*)]}
-  (reducedf* metadata reduced-rows context))
+  (reducedf* reduced-rows context))
 
 (defn timeoutf
   "Call this function when a query times out."
diff --git a/src/metabase/query_processor/context/default.clj b/src/metabase/query_processor/context/default.clj
index 02af99df7c733fbe6dbecd0f9376f17e3cfe7505..2c417b37615ec5671179d3df369d17970ae13501 100644
--- a/src/metabase/query_processor/context/default.clj
+++ b/src/metabase/query_processor/context/default.clj
@@ -42,7 +42,7 @@
        (vswap! rows conj row)
        result))))
 
-(defn- default-reducedf [_metadata reduced-result context]
+(defn- default-reducedf [reduced-result context]
   (context/resultf reduced-result context))
 
 (defn default-reducef
@@ -51,7 +51,6 @@
   [[metabase.query-processor.reducible-test/write-rows-to-file-test]] for an example of a custom implementation."
   [rff context metadata reducible-rows]
   {:pre [(fn? rff)]}
-  ;; TODO -- how to pass updated metadata to reducedf?
   (let [rf (rff metadata)]
     (assert (fn? rf))
     (when-let [reduced-rows (try
@@ -61,7 +60,7 @@
                                                          {:type error-type/qp}
                                                          e)
                                                 context)))]
-      (context/reducedf metadata reduced-rows context))))
+      (context/reducedf reduced-rows context))))
 
 (defn- default-runf [query rf context]
   (try
diff --git a/src/metabase/query_processor/streaming.clj b/src/metabase/query_processor/streaming.clj
index e8cfe536c44f9858d31e43d454daf9c08ec68128..0084a37bde2f242d25e4a8f588c794e7f8e41687 100644
--- a/src/metabase/query_processor/streaming.clj
+++ b/src/metabase/query_processor/streaming.clj
@@ -124,7 +124,7 @@
          metadata)))))
 
 (defn- streaming-reducedf [results-writer ^OutputStream os]
-  (fn [_ final-metadata context]
+  (fn [final-metadata context]
     (i/finish! results-writer final-metadata)
     (u/ignore-exceptions
       (.flush os)