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