diff --git a/frontend/src/metabase/visualizations/lib/settings/column.js b/frontend/src/metabase/visualizations/lib/settings/column.js index 3bcfedbcf8061a7dff3068f9c635fcbca5ad930a..69c36480237d96d13f0d4bb6c0e16752c76436d5 100644 --- a/frontend/src/metabase/visualizations/lib/settings/column.js +++ b/frontend/src/metabase/visualizations/lib/settings/column.js @@ -479,7 +479,7 @@ export function getSettingDefintionsForColumn(series: Series, column: Column) { ? visualization.columnSettings(column) : visualization.columnSettings || {}; - if (isDate(column)) { + if (isDate(column) || (column.unit && column.unit !== "default")) { return { ...extraColumnSettings, ...DATE_COLUMN_SETTINGS, diff --git a/modules/drivers/bigquery-cloud-sdk/test/metabase/driver/bigquery_cloud_sdk/query_processor_test.clj b/modules/drivers/bigquery-cloud-sdk/test/metabase/driver/bigquery_cloud_sdk/query_processor_test.clj index aee52663bb31960dfdac1d8299018033559eff24..43705167ccac0cd013f8ed58454c46d5db841813 100644 --- a/modules/drivers/bigquery-cloud-sdk/test/metabase/driver/bigquery_cloud_sdk/query_processor_test.clj +++ b/modules/drivers/bigquery-cloud-sdk/test/metabase/driver/bigquery_cloud_sdk/query_processor_test.clj @@ -38,16 +38,19 @@ :display_name "venue_id" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "venue_id" {:base-type :type/Integer}]} {:name "user_id" :display_name "user_id" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "user_id" {:base-type :type/Integer}]} {:name "checkins_id" :display_name "checkins_id" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "checkins_id" {:base-type :type/Integer}]}] (qp.test/cols (qp/process-query diff --git a/modules/drivers/bigquery/test/metabase/driver/bigquery/query_processor_test.clj b/modules/drivers/bigquery/test/metabase/driver/bigquery/query_processor_test.clj index a4492ca89be174cbb7844a987468ee4ae3079c78..9125d43a6b2c946a21ae6c7d7f5460f2d176e351 100644 --- a/modules/drivers/bigquery/test/metabase/driver/bigquery/query_processor_test.clj +++ b/modules/drivers/bigquery/test/metabase/driver/bigquery/query_processor_test.clj @@ -38,16 +38,19 @@ :display_name "venue_id" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "venue_id" {:base-type :type/Integer}]} {:name "user_id" :display_name "user_id" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "user_id" {:base-type :type/Integer}]} {:name "checkins_id" :display_name "checkins_id" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "checkins_id" {:base-type :type/Integer}]}] (qp.test/cols (qp/process-query diff --git a/modules/drivers/druid/test/metabase/driver/druid/query_processor_test.clj b/modules/drivers/druid/test/metabase/driver/druid/query_processor_test.clj index 88f651b614b51aa6242b79b314ab50feb1e508d4..17f8cd1b5b47bb429250780b09c446929712210b 100644 --- a/modules/drivers/druid/test/metabase/driver/druid/query_processor_test.clj +++ b/modules/drivers/druid/test/metabase/driver/druid/query_processor_test.clj @@ -288,26 +288,31 @@ :source :native :display_name "id" :field_ref [:field "id" {:base-type :type/Integer}] - :base_type :type/Integer} + :base_type :type/Integer + :effective_type :type/Integer} {:name "user_name" :source :native :display_name "user_name" :base_type :type/Text + :effective_type :type/Text :field_ref [:field "user_name" {:base-type :type/Text}]} {:name "venue_price" :source :native :display_name "venue_price" :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "venue_price" {:base-type :type/Integer}]} {:name "venue_name" :source :native :display_name "venue_name" :base_type :type/Text + :effective_type :type/Text :field_ref [:field "venue_name" {:base-type :type/Text}]} {:name "count" :source :native :display_name "count" :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "count" {:base-type :type/Integer}]}] :native_form {:query native-query-1} :results_timezone "UTC"}} diff --git a/modules/drivers/mongo/test/metabase/driver/mongo_test.clj b/modules/drivers/mongo/test/metabase/driver/mongo_test.clj index f44ae69ae5f3ff4e5887c39adb74579e3e32c863..fe25525f6060a41f120c823a0db3f36365bafc91 100644 --- a/modules/drivers/mongo/test/metabase/driver/mongo_test.clj +++ b/modules/drivers/mongo/test/metabase/driver/mongo_test.clj @@ -104,6 +104,7 @@ :cols [{:name "count" :display_name "count" :base_type :type/Integer + :effective_type :type/Integer :source :native :field_ref [:field "count" {:base-type :type/Integer}]}] :native_form {:collection "venues" diff --git a/src/metabase/query_processor/middleware/annotate.clj b/src/metabase/query_processor/middleware/annotate.clj index 97c5ad5aa664e1b34e12a49fc9a63bbb866be326..2dc84c860a6695958847fa03c61f16ae802a5b86 100644 --- a/src/metabase/query_processor/middleware/annotate.clj +++ b/src/metabase/query_processor/middleware/annotate.clj @@ -549,11 +549,18 @@ (let [non-nil-driver-col-metadata (m/filter-vals some? driver-col-metadata) our-base-type (when (= (:base_type driver-col-metadata) :type/*) (u/select-non-nil-keys our-col-metadata [:base_type])) + ;; whatever type comes back from the query is by definition the effective type, fallback to our effective + ;; type, fallback to the base_type + effective-type (when-let [db-base (or (:base_type driver-col-metadata) + (:effective_type our-col-metadata) + (:base_type our-col-metadata))] + {:effective_type db-base}) our-name (u/select-non-nil-keys our-col-metadata [:name])] (merge our-col-metadata non-nil-driver-col-metadata our-base-type - our-name))) + our-name + effective-type))) (defn- merge-cols-returned-by-driver "Merge our column metadata (`:cols`) derived from logic above with the column metadata returned by the driver. We'll diff --git a/test/metabase/api/card_test.clj b/test/metabase/api/card_test.clj index 40e42f48523786c427455015350bd412fabd5a15..20b1b1b61b20bfca7a8a783e32a6f4009d90c637 100644 --- a/test/metabase/api/card_test.clj +++ b/test/metabase/api/card_test.clj @@ -474,6 +474,7 @@ :metadata_checksum "ABCDEF"))) ; bad checksum (testing "check the correct metadata was fetched and was saved in the DB" (is (= [{:base_type (count-base-type) + :effective_type (count-base-type) :display_name "count" :name "count" :semantic_type :type/Quantity diff --git a/test/metabase/api/dataset_test.clj b/test/metabase/api/dataset_test.clj index e25ecbbea9383065dac748a87784d24ff77166e5..9bcba8842dfbbf915e4f3d14e7d7b110e5de257d 100644 --- a/test/metabase/api/dataset_test.clj +++ b/test/metabase/api/dataset_test.clj @@ -341,6 +341,7 @@ "test-expr"] (map :display_name cols))) (is (= {:base_type "type/Integer" + :effective_type "type/Integer" :name "pivot-grouping" :display_name "pivot-grouping" :expression_name "pivot-grouping" diff --git a/test/metabase/api/table_test.clj b/test/metabase/api/table_test.clj index 0b2fe3ce96447589a3184e8ddbc749f233954232..8227944fb403e6dbb189206d694da0af65d546ce 100644 --- a/test/metabase/api/table_test.clj +++ b/test/metabase/api/table_test.clj @@ -469,12 +469,14 @@ [{:name "NAME" :display_name "NAME" :base_type "type/Text" + :effective_type "type/Text" :semantic_type "type/Name" :fingerprint (:name mutil/venue-fingerprints) :field_ref ["field" "NAME" {:base-type "type/Text"}]} {:name "ID" :display_name "ID" :base_type "type/BigInteger" + :effective_type "type/BigInteger" :semantic_type nil :fingerprint (:id mutil/venue-fingerprints) :field_ref ["field" "ID" {:base-type "type/BigInteger"}]} @@ -482,6 +484,7 @@ {:name "PRICE" :display_name "PRICE" :base_type "type/Integer" + :effective_type "type/Integer" :semantic_type nil :fingerprint (:price mutil/venue-fingerprints) :field_ref ["field" "PRICE" {:base-type "type/Integer"}]}) @@ -489,6 +492,7 @@ {:name "LATITUDE" :display_name "LATITUDE" :base_type "type/Float" + :effective_type "type/Float" :semantic_type "type/Latitude" :fingerprint (:latitude mutil/venue-fingerprints) :field_ref ["field" "LATITUDE" {:base-type "type/Float"}]})])}) @@ -522,6 +526,7 @@ :fields [{:name "NAME" :display_name "NAME" :base_type "type/Text" + :effective_type "type/Text" :table_id card-virtual-table-id :id ["field" "NAME" {:base-type "type/Text"}] :semantic_type "type/Name" @@ -532,6 +537,7 @@ {:name "LAST_LOGIN" :display_name "LAST_LOGIN" :base_type "type/DateTime" + :effective_type "type/DateTime" :table_id card-virtual-table-id :id ["field" "LAST_LOGIN" {:base-type "type/DateTime"}] :semantic_type nil diff --git a/test/metabase/driver/h2_test.clj b/test/metabase/driver/h2_test.clj index be69bba01247f6446063f8b57c8f1dec24b6e471..7b284d9f88d1028861887630af28f11b91e4e819 100644 --- a/test/metabase/driver/h2_test.clj +++ b/test/metabase/driver/h2_test.clj @@ -93,6 +93,7 @@ (testing "cols" (is (= [{:display_name "NAME" :base_type :type/Text + :effective_type :type/Text :source :native :field_ref [:field "NAME" {:base-type :type/Text}] :name "NAME"}] @@ -103,6 +104,7 @@ (testing "A native query that doesn't return a column class name metadata should work correctly (#12150)" (is (= [{:display_name "D" :base_type :type/DateTime + :effective_type :type/DateTime :source :native :field_ref [:field "D" {:base-type :type/DateTime}] :name "D"}] diff --git a/test/metabase/driver/postgres_test.clj b/test/metabase/driver/postgres_test.clj index b354825864871049e78a07dd6d655cdad65d4bd0..884e5aa89abd20e28ff4a7c1d2a7a139a955a414 100644 --- a/test/metabase/driver/postgres_test.clj +++ b/test/metabase/driver/postgres_test.clj @@ -588,6 +588,7 @@ (testing "cols" (is (= [{:display_name "sleep" :base_type :type/Text + :effective_type :type/Text :source :native :field_ref [:field "sleep" {:base-type :type/Text}] :name "sleep"}] diff --git a/test/metabase/driver/sql_jdbc/native_test.clj b/test/metabase/driver/sql_jdbc/native_test.clj index 77bd5682526ab98955605f5ca8208fec1e270fa8..c92b3f64d2e6f3ba1ac0326356be479018f38bf8 100644 --- a/test/metabase/driver/sql_jdbc/native_test.clj +++ b/test/metabase/driver/sql_jdbc/native_test.clj @@ -17,6 +17,7 @@ :cols [{:name "ID" :display_name "ID" :base_type :type/BigInteger + :effective_type :type/BigInteger :source :native :field_ref [:field "ID" {:base-type :type/BigInteger}]}] :native_form {:query "SELECT ID FROM VENUES ORDER BY ID DESC LIMIT 2"} @@ -37,16 +38,19 @@ :display_name "ID" :source :native :base_type :type/BigInteger + :effective_type :type/BigInteger :field_ref [:field "ID" {:base-type :type/BigInteger}]} {:name "NAME" :display_name "NAME" :source :native :base_type :type/Text + :effective_type :type/Text :field_ref [:field "NAME" {:base-type :type/Text}]} {:name "CATEGORY_ID" :display_name "CATEGORY_ID" :source :native :base_type :type/Integer + :effective_type :type/Integer :field_ref [:field "CATEGORY_ID" {:base-type :type/Integer}]}] :native_form {:query "SELECT ID, NAME, CATEGORY_ID FROM VENUES ORDER BY ID DESC LIMIT 2"} :results_timezone "UTC"}} diff --git a/test/metabase/query_processor/middleware/add_source_metadata_test.clj b/test/metabase/query_processor/middleware/add_source_metadata_test.clj index da58f366b57a6a687cf5ce7afc412440ff74c8b2..994a6c9b7a5caa23bebfd568727dc42f2b886ac1 100644 --- a/test/metabase/query_processor/middleware/add_source_metadata_test.clj +++ b/test/metabase/query_processor/middleware/add_source_metadata_test.clj @@ -200,7 +200,9 @@ (concat (venues-source-metadata :price) (let [[count-col] (results-metadata (mt/run-mbql-query venues {:aggregation [[:count]]}))] - [(assoc count-col :field_ref field-ref)])))] + [(-> count-col + (dissoc :effective_type) + (assoc :field_ref field-ref))])))] (mt/mbql-query venues {:source-query {:source-query {:source-query {:source-table $$venues :aggregation [[:count]] @@ -253,7 +255,9 @@ :max-value 45.0 :num-bins 7 :bin-width 5.0}}])]) - (results-metadata (mt/run-mbql-query venues {:aggregation [[:count]]})))}) + ;; computed column doesn't have an effective type in middleware before query + (map #(dissoc % :effective_type) + (results-metadata (mt/run-mbql-query venues {:aggregation [[:count]]}))))}) (add-source-metadata (mt/mbql-query venues {:source-query diff --git a/test/metabase/query_processor/middleware/annotate_test.clj b/test/metabase/query_processor/middleware/annotate_test.clj index 21558d95e2455069b8af232c404b1ab6e7c77cbc..b7b67d93a6816b926500a982047390e0f322c4e2 100644 --- a/test/metabase/query_processor/middleware/annotate_test.clj +++ b/test/metabase/query_processor/middleware/annotate_test.clj @@ -416,6 +416,7 @@ (is (= {:cols [{:name "metric" :display_name "Total Events" :base_type :type/Text + :effective_type :type/Text :source :aggregation :field_ref [:aggregation 0]}]} (add-column-info @@ -486,6 +487,7 @@ (testing "Make sure `:cols` always come back with a unique `:name` key (#8759)" (is (= {:cols [{:base_type :type/Number + :effective_type :type/Number :semantic_type :type/Quantity :name "count" :display_name "count" @@ -495,14 +497,17 @@ :name "sum" :display_name "sum" :base_type :type/Number + :effective_type :type/Number :field_ref [:aggregation 1]} {:base_type :type/Number + :effective_type :type/Number :semantic_type :type/Quantity :name "count_2" :display_name "count" :source :aggregation :field_ref [:aggregation 2]} {:base_type :type/Number + :effective_type :type/Number :semantic_type :type/Quantity :name "count_3" :display_name "count_2" diff --git a/test/metabase/query_processor/middleware/results_metadata_test.clj b/test/metabase/query_processor/middleware/results_metadata_test.clj index fedfbe3633d7ab1ec1db0098779955b0d4ce9a01..69c6ede4015aa974357356b71fa9c69b30cadee0 100644 --- a/test/metabase/query_processor/middleware/results_metadata_test.clj +++ b/test/metabase/query_processor/middleware/results_metadata_test.clj @@ -29,36 +29,42 @@ [{:name "ID" :display_name "ID" :base_type :type/BigInteger + :effective_type :type/BigInteger :semantic_type :type/PK :fingerprint (:id mutil/venue-fingerprints) :field_ref [:field "ID" {:base-type :type/BigInteger}]} {:name "NAME" :display_name "Name" :base_type :type/Text + :effective_type :type/Text :semantic_type :type/Name :fingerprint (:name mutil/venue-fingerprints) :field_ref [:field "NAME" {:base-type :type/Text}]} {:name "PRICE" :display_name "Price" :base_type :type/Integer + :effective_type :type/Integer :semantic_type nil :fingerprint (:price mutil/venue-fingerprints) :field_ref [:field "PRICE" {:base-type :type/Integer}]} {:name "CATEGORY_ID" :display_name "Category ID" :base_type :type/Integer + :effective_type :type/Integer :semantic_type nil :fingerprint (:category_id mutil/venue-fingerprints) :field_ref [:field "CATEGORY_ID" {:base-type :type/Integer}]} {:name "LATITUDE" :display_name "Latitude" :base_type :type/Float + :effective_type :type/Float :semantic_type :type/Latitude :fingerprint (:latitude mutil/venue-fingerprints) :field_ref [:field "LATITUDE" {:base-type :type/Float}]} {:name "LONGITUDE" :display_name "Longitude" :base_type :type/Float + :effective_type :type/Float :semantic_type :type/Longitude :fingerprint (:longitude mutil/venue-fingerprints) :field_ref [:field "LONGITUDE" {:base-type :type/Float}]}]) @@ -190,7 +196,7 @@ :info {:card-id (u/the-id card) :query-hash (qputil/query-hash {})}}) (is (= [{:base_type :type/DateTime - :effective_type :type/Date + :effective_type :type/DateTime :coercion_strategy nil :display_name "Date" :name "DATE" @@ -202,6 +208,7 @@ :id (mt/id :checkins :date) :field_ref [:field (mt/id :checkins :date) {:temporal-unit :year}]} {:base_type :type/BigInteger + :effective_type :type/BigInteger :display_name "Count" :name "count" :semantic_type :type/Quantity @@ -239,6 +246,7 @@ :database (mt/id)}))] (testing "Sanity check: annotate should infer correct type from `:cols`" (is (= {:base_type :type/DateTime, + :effective_type :type/DateTime :display_name "D" :name "D" :source :native :field_ref [:field "D" {:base-type :type/DateTime}]} @@ -246,6 +254,7 @@ (testing "Results metadata should have the same type info") (is (= {:base_type :type/DateTime + :effective_type :type/DateTime :display_name "D" :name "D" :semantic_type nil diff --git a/test/metabase/query_processor_test.clj b/test/metabase/query_processor_test.clj index de00d051465e1407fc544c27256078c8cc1c3dd0..2fb703a9a00d3505cfed22c5295f86d63a260060 100644 --- a/test/metabase/query_processor_test.clj +++ b/test/metabase/query_processor_test.clj @@ -111,6 +111,10 @@ ([table-kw cols] (mapv (partial col table-kw) cols))) +(defn- backfill-effective-type [{:keys [base_type effective_type] :as col}] + (cond-> col + (and (nil? effective_type) base_type) (assoc :effective_type base_type))) + (defn aggregate-col "Return the column information we'd expect for an aggregate column. For all columns besides `:count`, you'll need to pass the `Field` in question as well. @@ -119,13 +123,16 @@ (aggregate-col :avg (col :venues :id)) (aggregate-col :avg :venues :id)" ([ag-type] - (tx/aggregate-column-info (tx/driver) ag-type)) + (backfill-effective-type + (tx/aggregate-column-info (tx/driver) ag-type))) ([ag-type field] - (tx/aggregate-column-info (tx/driver) ag-type field)) + (backfill-effective-type + (tx/aggregate-column-info (tx/driver) ag-type field))) ([ag-type table-kw field-kw] - (tx/aggregate-column-info (tx/driver) ag-type (col table-kw field-kw)))) + (backfill-effective-type + (tx/aggregate-column-info (tx/driver) ag-type (col table-kw field-kw))))) (defn breakout-col "Return expected `:cols` info for a Field used as a breakout. diff --git a/test/metabase/query_processor_test/aggregation_test.clj b/test/metabase/query_processor_test/aggregation_test.clj index 57696537d1b10bbce387258376453b1606a289cf..a4002ba6c7c137c2daad3afbbfdf9461c0de17a6 100644 --- a/test/metabase/query_processor_test/aggregation_test.clj +++ b/test/metabase/query_processor_test/aggregation_test.clj @@ -198,7 +198,6 @@ ;;; ------------------------------------------------ CUMULATIVE COUNT ------------------------------------------------ - (deftest cumulative-count-test (mt/test-drivers (mt/normal-drivers) (testing "cumulative count aggregations" diff --git a/test/metabase/query_processor_test/breakout_test.clj b/test/metabase/query_processor_test/breakout_test.clj index c9563adf0c7661b20d14050434105fde42568c82..015ff7fdd3de885a47b47d63be47f601d6d34a94 100644 --- a/test/metabase/query_processor_test/breakout_test.clj +++ b/test/metabase/query_processor_test/breakout_test.clj @@ -167,7 +167,7 @@ (testing "Validate binning info is returned with the binning-strategy" (testing "binning-strategy = default" ;; base_type can differ slightly between drivers and it's really not important for the purposes of this test - (is (= (assoc (dissoc (qp.test/breakout-col :venues :latitude) :base_type) + (is (= (assoc (dissoc (qp.test/breakout-col :venues :latitude) :base_type :effective_type) :binning_info {:min_value 10.0, :max_value 50.0, :num_bins 4, :bin_width 10.0, :binning_strategy :bin-width} :field_ref [:field (mt/id :venues :latitude) {:binning {:strategy :bin-width :min-value 10.0 @@ -179,10 +179,10 @@ :breakout [[:field %latitude {:binning {:strategy :default}}]]}) qp.test/cols first - (dissoc :base_type))))) + (dissoc :base_type :effective_type))))) (testing "binning-strategy = num-bins: 5" - (is (= (assoc (dissoc (qp.test/breakout-col :venues :latitude) :base_type) + (is (= (assoc (dissoc (qp.test/breakout-col :venues :latitude) :base_type :effective_type) :binning_info {:min_value 7.5, :max_value 45.0, :num_bins 5, :bin_width 7.5, :binning_strategy :num-bins} :field_ref [:field (mt/id :venues :latitude) {:binning {:strategy :num-bins :min-value 7.5 @@ -194,7 +194,7 @@ :breakout [[:field %latitude {:binning {:strategy :num-bins, :num-bins 5}}]]}) qp.test/cols first - (dissoc :base_type)))))))) + (dissoc :base_type :effective_type)))))))) (deftest binning-error-test (mt/test-drivers (mt/normal-drivers-with-feature :binning) diff --git a/test/metabase/query_processor_test/native_test.clj b/test/metabase/query_processor_test/native_test.clj index 511e0f0c6852e47022d16f9523481b5d6a9a03da..d893c0beee5a1b1fbdb97b3ee5b6a60c7996a1f8 100644 --- a/test/metabase/query_processor_test/native_test.clj +++ b/test/metabase/query_processor_test/native_test.clj @@ -26,7 +26,8 @@ :source :native :field_ref [:field "NAME" {:base-type :type/Text}] :name "NAME" - :base_type :type/Text}]} + :base_type :type/Text + :effective_type :type/Text}]} (qp.test/rows-and-cols (qp/process-query (mt/native-query diff --git a/test/metabase/query_processor_test/nested_queries_test.clj b/test/metabase/query_processor_test/nested_queries_test.clj index 36f5863fb1ecbfd19067aaf7fa02c282c05bd472..9240b353062dc27de5f25902cfe8b817fa8ec340 100644 --- a/test/metabase/query_processor_test/nested_queries_test.clj +++ b/test/metabase/query_processor_test/nested_queries_test.clj @@ -67,12 +67,12 @@ [4 6]] :cols [(cond-> (qp.test/breakout-col (qp.test/col :venues :price)) native-source? - (-> (assoc :field_ref [:field "PRICE" {:base-type :type/Integer}]) + (-> (assoc :field_ref [:field "PRICE" {:base-type :type/Integer}] + :effective_type :type/Integer) (dissoc :description :parent_id :visibility_type)) (not has-source-metadata?) - (dissoc :id :semantic_type :settings :fingerprint :table_id - :effective_type :coercion_strategy)) + (dissoc :id :semantic_type :settings :fingerprint :table_id :coercion_strategy)) (qp.test/aggregate-col :count)]}) (deftest mbql-source-query-breakout-aggregation-test @@ -400,7 +400,7 @@ :unit :day) ;; because this field literal comes from a native query that does not include `:source-metadata` it won't have ;; the usual extra keys - (dissoc :semantic_type :effective_type :coercion_strategy :table_id + (dissoc :semantic_type :coercion_strategy :table_id :id :settings :fingerprint)) (qp.test/aggregate-col :count)] (mt/cols diff --git a/test/metabase/query_processor_test/remapping_test.clj b/test/metabase/query_processor_test/remapping_test.clj index 682930beba0801c57910176889d90931c9faee7c..3882e2fdf754e1ed79773d87945eb1d7017f29e1 100644 --- a/test/metabase/query_processor_test/remapping_test.clj +++ b/test/metabase/query_processor_test/remapping_test.clj @@ -51,7 +51,7 @@ :limit 3})) qp.test/rows-and-cols (update :cols (fn [[c1 c2 agg]] - [(dissoc c1 :source_alias) c2 (dissoc agg :base_type)])))))))) + [(dissoc c1 :source_alias) c2 (dissoc agg :base_type :effective_type)])))))))) (deftest nested-remapping-test (mt/test-drivers (mt/normal-drivers-with-feature :nested-queries) diff --git a/test/metabase/util/ssh_test.clj b/test/metabase/util/ssh_test.clj index 1c4e74bdcbb35810c5ff2634d7b4e15d9a433b2a..a6c6844d83f6cce3564ee4a75acf5239883ab707 100644 --- a/test/metabase/util/ssh_test.clj +++ b/test/metabase/util/ssh_test.clj @@ -263,11 +263,13 @@ (mt/with-db db (sync/sync-database! db) (letfn [(check-data [] (is (= {:cols [{:base_type :type/Text + :effective_type :type/Text :display_name "COL1" :field_ref [:field "COL1" {:base-type :type/Text}] :name "COL1" :source :native} {:base_type :type/Decimal + :effective_type :type/Decimal :display_name "COL2" :field_ref [:field "COL2" {:base-type :type/Decimal}] :name "COL2"