Skip to content
Snippets Groups Projects
Unverified Commit c6ff26ba authored by Cam Saul's avatar Cam Saul Committed by GitHub
Browse files

Test to help debug #9844 (#11068)

parent 5699e80f
No related branches found
No related tags found
No related merge requests found
......@@ -92,7 +92,7 @@
(defmethod sql-jdbc.conn/connection-details->spec :redshift [_ {:keys [host port db], :as opts}]
(merge
{:classname "com.amazon.redshift.jdbc.Driver" ; must be in classpath
{:classname "com.amazon.redshift.jdbc.Driver"
:subprotocol "redshift"
:subname (str "//" host ":" port "/" db)
:ssl true
......
(ns metabase.driver.redshift-test
(:require [metabase.test.data.datasets :refer [expect-with-driver]]
[metabase.test.util :as tu]))
(:require [clojure.test :refer :all]
[metabase.test
[fixtures :as fixtures]
[util :as tu]]
[metabase.test.data.datasets :refer [expect-with-driver]]))
(use-fixtures :once (fixtures/initialize :plugins))
(expect-with-driver :redshift
"UTC"
(tu/db-timezone-id))
(deftest correct-driver-test
(is (= "com.amazon.redshift.jdbc.Driver"
(.getName (class (jdbc-proxy/wrapped-driver (java.sql.DriverManager/getDriver "jdbc:redshift://host:5432/testdb")))))
"Make sure we're using the correct driver for Redshift"))
......@@ -4,13 +4,28 @@
(:require [clojure.tools.logging :as log]
[metabase.plugins.classloader :as classloader]
[metabase.util :as u]
[metabase.util.i18n :refer [trs]])
[metabase.util.i18n :refer [trs]]
[potemkin.types :as p.types]
[pretty.core :refer [PrettyPrintable]])
(:import [java.sql Driver DriverManager]))
;;; -------------------------------------------------- Proxy Driver --------------------------------------------------
(p.types/defprotocol+ ^:private ProxyDriver
(wrapped-driver [this]
"Get the JDBC driver wrapped by a Metabase JDBC proxy driver."))
(defn- proxy-driver ^Driver [^Driver driver]
(reify Driver
(reify
PrettyPrintable
(pretty [_]
(list 'proxy-driver driver))
ProxyDriver
(wrapped-driver [_]
driver)
Driver
(acceptsURL [_ url]
(.acceptsURL driver url))
(connect [_ url info]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment