From aca3a6cfa8ac563596b58ec4f8294dc5b60025e5 Mon Sep 17 00:00:00 2001
From: Cam Saul <1455846+camsaul@users.noreply.github.com>
Date: Mon, 17 Jul 2023 05:06:50 -0700
Subject: [PATCH] Joins should have `:fields` `:all` by default (#32419)

---
 src/metabase/lib/join.cljc       | 5 +++--
 test/metabase/lib/join_test.cljc | 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/metabase/lib/join.cljc b/src/metabase/lib/join.cljc
index db595ac0085..7c85c3808ae 100644
--- a/src/metabase/lib/join.cljc
+++ b/src/metabase/lib/join.cljc
@@ -243,11 +243,12 @@
   "Create an MBQL join map from something that can conceptually be joined against. A `Table`? An MBQL or native query? A
   Saved Question? You should be able to join anything, and this should return a sensible MBQL join map."
   ([joinable]
-   ;; FIXME -- we should add `:fields :all` by default, but blocked by #32026
    (join-clause-method joinable))
 
   ([joinable conditions]
-   (with-join-conditions (join-clause joinable) conditions)))
+   (-> (join-clause joinable)
+       (u/assoc-default :fields :all)
+       (with-join-conditions conditions))))
 
 (mu/defn with-join-fields :- PartialJoin
   "Update a join (or a function that will return a join) to include `:fields`, either `:all`, `:none`, or a sequence of
diff --git a/test/metabase/lib/join_test.cljc b/test/metabase/lib/join_test.cljc
index 799125fd12e..cfb68292e3a 100644
--- a/test/metabase/lib/join_test.cljc
+++ b/test/metabase/lib/join_test.cljc
@@ -44,7 +44,8 @@
                                                       [:field
                                                        {:lib/uuid string?
                                                         :join-alias "Categories"}
-                                                       (meta/id :categories :id)]]]}]}]}
+                                                       (meta/id :categories :id)]]]
+                                       :fields      :all}]}]}
           (let [q (lib/query meta/metadata-provider (meta/table-metadata :venues))
                 j (lib/query meta/metadata-provider (meta/table-metadata :categories))]
             (lib/join q (lib/join-clause j [{:lib/type :lib/external-op
-- 
GitLab