diff --git a/modules/drivers/sparksql/src/metabase/driver/hive_like.clj b/modules/drivers/sparksql/src/metabase/driver/hive_like.clj index f9302c7729051f63c50faa0de4643ba28d45ac94..198457de93082559155a6d9916f51d329e5d982a 100644 --- a/modules/drivers/sparksql/src/metabase/driver/hive_like.clj +++ b/modules/drivers/sparksql/src/metabase/driver/hive_like.clj @@ -23,25 +23,26 @@ (defmethod sql-jdbc.sync/database-type->base-type :hive-like [_ database-type] (condp re-matches (name database-type) - #"boolean" :type/Boolean - #"tinyint" :type/Integer - #"smallint" :type/Integer - #"int" :type/Integer - #"bigint" :type/BigInteger - #"float" :type/Float - #"double" :type/Float - #"double precision" :type/Double - #"decimal.*" :type/Decimal - #"char.*" :type/Text - #"varchar.*" :type/Text - #"binary*" :type/* - #"date" :type/Date - #"time" :type/Time - #"timestamp" :type/DateTime - #"interval" :type/* - #"array.*" :type/Array - #"map" :type/Dictionary - #".*" :type/*)) + #"boolean" :type/Boolean + #"tinyint" :type/Integer + #"smallint" :type/Integer + #"int" :type/Integer + #"bigint" :type/BigInteger + #"float" :type/Float + #"double" :type/Float + #"double precision" :type/Double + #"decimal.*" :type/Decimal + #"char.*" :type/Text + #"varchar.*" :type/Text + #"string.*" :type/Text + #"binary*" :type/* + #"date" :type/Date + #"time" :type/Time + #"timestamp" :type/DateTime + #"interval" :type/* + #"array.*" :type/Array + #"map" :type/Dictionary + #".*" :type/*)) (defmethod sql.qp/current-datetime-fn :hive-like [_] :%now) diff --git a/modules/drivers/sparksql/test/metabase/driver/hive_like_test.clj b/modules/drivers/sparksql/test/metabase/driver/hive_like_test.clj new file mode 100644 index 0000000000000000000000000000000000000000..fe62c8bab9cd3ccbb26337301f8d391f4aea9d66 --- /dev/null +++ b/modules/drivers/sparksql/test/metabase/driver/hive_like_test.clj @@ -0,0 +1,10 @@ +(ns metabase.driver.hive-like-test + (:require [expectations :refer [expect]] + [metabase.driver.sql-jdbc.sync :as sql-jdbc.sync])) + +;; make sure the various types we use for running tests are actually mapped to the correct DB type +(expect :type/Text (sql-jdbc.sync/database-type->base-type :hive-like :string)) +(expect :type/Integer (sql-jdbc.sync/database-type->base-type :hive-like :int)) +(expect :type/Date (sql-jdbc.sync/database-type->base-type :hive-like :date)) +(expect :type/DateTime (sql-jdbc.sync/database-type->base-type :hive-like :timestamp)) +(expect :type/Float (sql-jdbc.sync/database-type->base-type :hive-like :double)) diff --git a/modules/drivers/sparksql/test/metabase/driver/sparksql_test.clj b/modules/drivers/sparksql/test/metabase/driver/sparksql_test.clj index 39294845bd5ba78c80908cfd5a151d514d6c9885..1d19451793def767e33078e7753c7eef4e8d3589 100644 --- a/modules/drivers/sparksql/test/metabase/driver/sparksql_test.clj +++ b/modules/drivers/sparksql/test/metabase/driver/sparksql_test.clj @@ -1,5 +1,5 @@ (ns metabase.driver.sparksql-test - (:require [expectations :refer :all] + (:require [expectations :refer [expect]] [metabase.driver.sql.query-processor :as sql.qp])) ;; Make sure our custom implementation of `apply-page` works the way we'd expect