From 0c90ddfa09c959b7164cce0359b407a17f3fc9d0 Mon Sep 17 00:00:00 2001 From: lbrdnk <lbrdnk@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:56:19 +0200 Subject: [PATCH] [Databricks] Use Sparksql formatting in prettify-native-form for Databricks (#49053) * Format databricks as spark in prettify-native-form * Add test to be generalized in follow up --- src/metabase/driver/sql/util.clj | 1 + test/metabase/driver/sql/util_test.clj | 2 +- test/metabase/driver_test.clj | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/metabase/driver/sql/util.clj b/src/metabase/driver/sql/util.clj index 7fbcb50de38..c70b584bd6b 100644 --- a/src/metabase/driver/sql/util.clj +++ b/src/metabase/driver/sql/util.clj @@ -155,6 +155,7 @@ (def dialects "Mapping of dialect kw to dialect, used by sql formatter in [[format-sql]], to dialect." {:db2 Dialect/Db2 + :databricks Dialect/SparkSql :mariadb Dialect/MariaDb :mysql Dialect/MySql :n1ql Dialect/N1ql diff --git a/test/metabase/driver/sql/util_test.clj b/test/metabase/driver/sql/util_test.clj index df18208c11e..4af3d125974 100644 --- a/test/metabase/driver/sql/util_test.clj +++ b/test/metabase/driver/sql/util_test.clj @@ -1,4 +1,4 @@ -(ns metabase.driver.sql.util-test +(ns ^:mb/driver-tests metabase.driver.sql.util-test (:require [clojure.string :as str] [clojure.test :refer :all] diff --git a/test/metabase/driver_test.clj b/test/metabase/driver_test.clj index b9f9d0f033f..13e4d4be9c8 100644 --- a/test/metabase/driver_test.clj +++ b/test/metabase/driver_test.clj @@ -8,6 +8,8 @@ [metabase.driver.h2 :as h2] [metabase.driver.impl :as driver.impl] [metabase.plugins.classloader :as classloader] + [metabase.query-processor :as qp] + [metabase.query-processor.compile :as qp.compile] [metabase.task.sync-databases :as task.sync-databases] [metabase.test :as mt] [metabase.test.data.env :as tx.env] @@ -193,6 +195,15 @@ (is (= query (json/parse-string weird-formatted-query))))))))) +(deftest ^:parallel prettify-native-form-executable-test + (mt/test-drivers + (set (filter (partial get-method driver/prettify-native-form) (mt/normal-drivers))) + (is (=? {:status :completed} + (qp/process-query {:database (mt/id) + :type :native + :native (-> (qp.compile/compile (mt/mbql-query orders {:limit 1})) + (update :query (partial driver/prettify-native-form driver/*driver*)))}))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Begin tests for `describe-*` methods used in sync ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- GitLab