I am trying to write a driver for Solr via its jdbc interface. Upon retrieving the connection from the connection pool something goes wrong so I want to override the standard settings for jdbc connections.
However overriding the method data-warehouse-connection-pool-properties results in an error when compiling (see below).
Am I doing something wrong here? What do I need to do to override these settings?
(defmethod sql-jdbc.conn/data-warehouse-connection-pool-properties :solr
[_]
{“testConnectionOnCheckout” true}
)
-
Unhandled clojure.lang.Compiler$CompilerException
Error compiling d:/playground/metabase/modules/drivers/solr/src/metabase/driver/solr.clj at (29:1)
#:clojure.error{:phase :compile-syntax-check,
:line 29,
:column 1,
:source
“d:/playground/metabase/modules/drivers/solr/src/metabase/driver/solr.clj”}
Compiler.java: 6808 clojure.lang.Compiler/analyze
Compiler.java: 6745 clojure.lang.Compiler/analyze
Compiler.java: 986 clojure.lang.Compiler$HostExpr$Parser/parse
Compiler.java: 7106 clojure.lang.Compiler/analyzeSeq
Compiler.java: 6789 clojure.lang.Compiler/analyze
Compiler.java: 6745 clojure.lang.Compiler/analyze
Compiler.java: 6120 clojure.lang.Compiler$BodyExpr$Parser/parse
Compiler.java: 5467 clojure.lang.Compiler$FnMethod/parse
Compiler.java: 4029 clojure.lang.Compiler$FnExpr/parse
Compiler.java: 7104 clojure.lang.Compiler/analyzeSeq
Compiler.java: 6789 clojure.lang.Compiler/analyze
Compiler.java: 7173 clojure.lang.Compiler/eval
Compiler.java: 7635 clojure.lang.Compiler/load
REPL: 1 metabase.driver.solr/eval44987
REPL: 1 metabase.driver.solr/eval44987
Compiler.java: 7176 clojure.lang.Compiler/eval
Compiler.java: 7131 clojure.lang.Compiler/eval
core.clj: 3214 clojure.core/eval
core.clj: 3210 clojure.core/eval
main.clj: 414 clojure.main/repl/read-eval-print/fn
main.clj: 414 clojure.main/repl/read-eval-print
main.clj: 435 clojure.main/repl/fn
main.clj: 435 clojure.main/repl
main.clj: 345 clojure.main/repl
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 79 nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 55 nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 142 nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
AFn.java: 22 clojure.lang.AFn/run
session.clj: 171 nrepl.middleware.session/session-exec/main-loop/fn
session.clj: 170 nrepl.middleware.session/session-exec/main-loop
AFn.java: 22 clojure.lang.AFn/run
nil: -1 java.lang.Thread/run -
Caused by java.lang.IllegalStateException
var: sql-jdbc.conn/data-warehouse-connection-pool-properties is not
publicCompiler.java: 7389 clojure.lang.Compiler/resolveIn Compiler.java: 7357 clojure.lang.Compiler/resolve Compiler.java: 7318 clojure.lang.Compiler/analyzeSymbol Compiler.java: 6768 clojure.lang.Compiler/analyze Compiler.java: 6745 clojure.lang.Compiler/analyze Compiler.java: 986 clojure.lang.Compiler$HostExpr$Parser/parse Compiler.java: 7106 clojure.lang.Compiler/analyzeSeq Compiler.java: 6789 clojure.lang.Compiler/analyze Compiler.java: 6745 clojure.lang.Compiler/analyze Compiler.java: 6120 clojure.lang.Compiler$BodyExpr$Parser/parse Compiler.java: 5467 clojure.lang.Compiler$FnMethod/parse Compiler.java: 4029 clojure.lang.Compiler$FnExpr/parse Compiler.java: 7104 clojure.lang.Compiler/analyzeSeq Compiler.java: 6789 clojure.lang.Compiler/analyze Compiler.java: 7173 clojure.lang.Compiler/eval Compiler.java: 7635 clojure.lang.Compiler/load REPL: 1 metabase.driver.solr/eval44987 REPL: 1 metabase.driver.solr/eval44987 Compiler.java: 7176 clojure.lang.Compiler/eval Compiler.java: 7131 clojure.lang.Compiler/eval core.clj: 3214 clojure.core/eval core.clj: 3210 clojure.core/eval main.clj: 414 clojure.main/repl/read-eval-print/fn main.clj: 414 clojure.main/repl/read-eval-print main.clj: 435 clojure.main/repl/fn main.clj: 435 clojure.main/repl main.clj: 345 clojure.main/repl RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 79 nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 55 nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 142 nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
AFn.java: 22 clojure.lang.AFn/run
session.clj: 171 nrepl.middleware.session/session-exec/main-loop/fn
session.clj: 170 nrepl.middleware.session/session-exec/main-loop
AFn.java: 22 clojure.lang.AFn/run
nil: -1 java.lang.Thread/run