From 45841f94fe1733bea5800beb675b3d1cc840e165 Mon Sep 17 00:00:00 2001 From: Ryan Senior <ryan@metabase.com> Date: Tue, 13 Jun 2017 14:05:23 -0500 Subject: [PATCH] Added min/max values to binning_info --- src/metabase/query_processor/annotate.clj | 6 ++++-- src/metabase/query_processor/resolve.clj | 2 +- test/metabase/api/table_test.clj | 2 +- test/metabase/query_processor_test/breakout_test.clj | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/metabase/query_processor/annotate.clj b/src/metabase/query_processor/annotate.clj index adc622e3eb7..1deb8eebcd8 100644 --- a/src/metabase/query_processor/annotate.clj +++ b/src/metabase/query_processor/annotate.clj @@ -46,10 +46,12 @@ fields)) metabase.query_processor.interface.BinnedField - (let [nested-field (:field this)] + (let [{{:keys [min-value max-value] :as nested-field} :field} this] [(assoc nested-field :binning_info {:binning_strategy "num-bins" :bin_width (:bin-width this) - :num_bins (:num-bins this)})]) + :num_bins (:num-bins this) + :min_value min-value + :max_value max-value})]) metabase.query_processor.interface.Field (if-let [parent (:parent this)] diff --git a/src/metabase/query_processor/resolve.clj b/src/metabase/query_processor/resolve.clj index a0ec07eebf9..458d7d93ea6 100644 --- a/src/metabase/query_processor/resolve.clj +++ b/src/metabase/query_processor/resolve.clj @@ -100,7 +100,7 @@ ;;; ## ------------------------------------------------------------ FIELD PLACEHOLDER ------------------------------------------------------------ -(defn calculate-bin-width [field num-bins] +(defn- calculate-bin-width [field num-bins] (u/round-to-decimals 5 (/ (- (:max-value field) (:min-value field)) num-bins))) diff --git a/test/metabase/api/table_test.clj b/test/metabase/api/table_test.clj index 5f7c7998376..911be3d5892 100644 --- a/test/metabase/api/table_test.clj +++ b/test/metabase/api/table_test.clj @@ -284,7 +284,7 @@ "Spiros Teofil" "Szymon Theutrich"]} :created_at $})) - #spy/d ((user->client :rasta) :get 200 (format "table/%d/query_metadata?include_sensitive_fields=true" (id :users)))) + ((user->client :rasta) :get 200 (format "table/%d/query_metadata?include_sensitive_fields=true" (id :users)))) ;;; GET api/table/:id/query_metadata ;;; Make sure that getting the User table does *not* include password info diff --git a/test/metabase/query_processor_test/breakout_test.clj b/test/metabase/query_processor_test/breakout_test.clj index 9c6737c64f8..5e3089a5a8b 100644 --- a/test/metabase/query_processor_test/breakout_test.clj +++ b/test/metabase/query_processor_test/breakout_test.clj @@ -115,7 +115,8 @@ (expect-with-non-timeseries-dbs (merge (venues-col :latitude) {:min_value 10.0646, :source :breakout, - :max_value 40.7794, :binning_info {:binning_strategy "num-bins", :bin_width 10.23827, :num_bins 3}}) + :max_value 40.7794, :binning_info {:binning_strategy "num-bins", :bin_width 10.23827, :num_bins 3 + :min_value 10.0646, :max_value 40.7794}}) (tu/with-temporary-setting-values [breakout-bins-num 3] (-> (data/run-query venues (ql/aggregation (ql/count)) -- GitLab