From 8e385d49be365bd0f5e3d5e5b4d22b3fad50257c Mon Sep 17 00:00:00 2001 From: Cal Herries <39073188+calherries@users.noreply.github.com> Date: Wed, 14 Dec 2022 15:21:30 +0100 Subject: [PATCH] Improve datetimeDiff type error message (#27225) * Update test * Update implementations --- .../src/metabase/driver/bigquery_cloud_sdk/query_processor.clj | 2 +- modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj | 2 +- modules/drivers/vertica/src/metabase/driver/vertica.clj | 2 +- src/metabase/driver/mysql.clj | 2 +- src/metabase/driver/postgres.clj | 2 +- .../query_processor_test/date_time_zone_functions_test.clj | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/drivers/bigquery-cloud-sdk/src/metabase/driver/bigquery_cloud_sdk/query_processor.clj b/modules/drivers/bigquery-cloud-sdk/src/metabase/driver/bigquery_cloud_sdk/query_processor.clj index 6ee16588227..21991f0c6fc 100644 --- a/modules/drivers/bigquery-cloud-sdk/src/metabase/driver/bigquery_cloud_sdk/query_processor.clj +++ b/modules/drivers/bigquery-cloud-sdk/src/metabase/driver/bigquery_cloud_sdk/query_processor.clj @@ -567,7 +567,7 @@ y (hx/->timestamp y)] (when (seq disallowed-types) (throw - (ex-info (tru "Only datetime, timestamp, or date types allowed. Found {0}" + (ex-info (tru "datetimeDiff only allows datetime, timestamp, or date types. Found {0}" (pr-str disallowed-types)) {:allowed #{:timestamp :datetime :date} :found disallowed-types diff --git a/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj b/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj index e665c1db5ed..1017eb9637b 100644 --- a/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj +++ b/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj @@ -291,7 +291,7 @@ #{"time"})) [x y]) _ (when (seq disallowed-types) - (throw (ex-info (tru "Only datetime, timestamp, or date types allowed. Found {0}" + (throw (ex-info (tru "datetimeDiff only allows datetime, timestamp, or date types. Found {0}" (pr-str disallowed-types)) {:found disallowed-types :type qp.error-type/invalid-query}))) diff --git a/modules/drivers/vertica/src/metabase/driver/vertica.clj b/modules/drivers/vertica/src/metabase/driver/vertica.clj index c1c5ac49cba..0782cf585bc 100644 --- a/modules/drivers/vertica/src/metabase/driver/vertica.clj +++ b/modules/drivers/vertica/src/metabase/driver/vertica.clj @@ -152,7 +152,7 @@ #{"time" "timetz"})) [x y])] (when (seq disallowed-types) - (throw (ex-info (tru "Only datetime, timestamp, or date types allowed. Found {0}" + (throw (ex-info (tru "datetimeDiff only allows datetime, timestamp, or date types. Found {0}" (pr-str disallowed-types)) {:found disallowed-types :type qp.error-type/invalid-query}))) diff --git a/src/metabase/driver/mysql.clj b/src/metabase/driver/mysql.clj index 3145239532e..d3fe8351927 100644 --- a/src/metabase/driver/mysql.clj +++ b/src/metabase/driver/mysql.clj @@ -399,7 +399,7 @@ (name db-type))))) [x y])] (when (seq disallowed-types) - (throw (ex-info (tru "Only datetime, timestamp, or date types allowed. Found {0}" + (throw (ex-info (tru "datetimeDiff only allows datetime, timestamp, or date types. Found {0}" (pr-str disallowed-types)) {:found disallowed-types :type qp.error-type/invalid-query}))) diff --git a/src/metabase/driver/postgres.clj b/src/metabase/driver/postgres.clj index eddaa5aa1b0..00975c0333b 100644 --- a/src/metabase/driver/postgres.clj +++ b/src/metabase/driver/postgres.clj @@ -377,7 +377,7 @@ (name db-type))))) [x y])] (when (seq disallowed-types) - (throw (ex-info (tru "Only datetime, timestamp, or date types allowed. Found {0}" + (throw (ex-info (tru "datetimeDiff only allows datetime, timestamp, or date types. Found {0}" (pr-str disallowed-types)) {:found disallowed-types :type qp.error-type/invalid-query}))) diff --git a/test/metabase/query_processor_test/date_time_zone_functions_test.clj b/test/metabase/query_processor_test/date_time_zone_functions_test.clj index 16661975b57..aac759b3db7 100644 --- a/test/metabase/query_processor_test/date_time_zone_functions_test.clj +++ b/test/metabase/query_processor_test/date_time_zone_functions_test.clj @@ -946,7 +946,7 @@ (mt/dataset attempted-murders (is (thrown-with-msg? clojure.lang.ExceptionInfo - #"Only datetime, timestamp, or date types allowed. Found .*" + #"datetimeDiff only allows datetime, timestamp, or date types. Found .*" (mt/rows (mt/run-mbql-query attempts {:limit 1 -- GitLab