ClickHouse/metabase-clickhouse-driver

Fail to connect clickhouse 21.11 from metabase 0.44.3 using metabase-clickhouse-driver 0.8.1

goFrendiAsgard opened this issue · 1 comments

I try to connect to clickhouse 21.11 from metabase 0.44.3 using metabase-clickhouse-driver 0.8.1

09-28 07:54:05 INFO plugins.classloader :: Added URL file:/plugins/clickhouse.metabase-driver.jar to classpath                                                                                                                                                       [46/246]09-28 07:54:05 DEBUG plugins.init-steps :: Loading plugin namespace metabase.driver.clickhouse...                                                                                                                                                                            09-28 07:54:05 INFO driver.impl :: Registered driver :clickhouse (parents: [:sql-jdbc]) 🚚                                                                                                                                                                                   09-28 07:54:06 ERROR driver.util :: Database connection error                                                                                                                                                                                                                Syntax error compiling at (metabase/driver/clickhouse.clj:166:1).                                                                                                                                                                                                                    at clojure.lang.Compiler.analyze(Compiler.java:6808)                                                                                                                                                                                                                         at clojure.lang.Compiler.analyze(Compiler.java:6745)                                                                                                                                                                                                                         at clojure.lang.Compiler$HostExpr$Parser.parse(Compiler.java:986)                                                                                                                                                                                                            at clojure.lang.Compiler.analyzeSeq(Compiler.java:7107)                                                                                                                                                                                                                      at clojure.lang.Compiler.analyze(Compiler.java:6789)                                                                                                                                                                                                                         at clojure.lang.Compiler.analyze(Compiler.java:6745)                                                                                                                                                                                                                         at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6120)                                                                                                                                                                                                           at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5467)                                                                                                                                                                                                                  at clojure.lang.Compiler$FnExpr.parse(Compiler.java:4029)                                                                                                                                                                                                                    at clojure.lang.Compiler.analyzeSeq(Compiler.java:7105)                                                                                                                                                                                                                      at clojure.lang.Compiler.analyze(Compiler.java:6789)                                                                                                                                                                                                                         at clojure.lang.Compiler.eval(Compiler.java:7174)                                                                                                                                                                                                                            at clojure.lang.Compiler.load(Compiler.java:7636)                                                                                                                                                                                                                            at clojure.lang.RT.loadResourceScript(RT.java:381)                                                                                                                                                                                                                           at clojure.lang.RT.loadResourceScript(RT.java:372)                                                                                                                                                                                                                           at clojure.lang.RT.load(RT.java:459)                                                                                                                                                                                                                                         at clojure.lang.RT.load(RT.java:424)                                                                                                                                                                                                                                         at clojure.core$load$fn__6839.invoke(core.clj:6126)                                                                                                                                                                                                                          at clojure.core$load.invokeStatic(core.clj:6125)                                                                                                                                                                                                                             at clojure.core$load.doInvoke(core.clj:6109)                                                                                                                                                                                                                                 at clojure.lang.RestFn.invoke(RestFn.java:408)                                                                                                                                                                                                                               at clojure.core$load_one.invokeStatic(core.clj:5908)                                                                                                                                                                                                                         at clojure.core$load_one.invoke(core.clj:5903)                                                                                                                                                                                                                               at clojure.core$load_lib$fn__6780.invoke(core.clj:5948)                                                                                                                                                                                                                      at clojure.core$load_lib.invokeStatic(core.clj:5947)                                                                                                                                                                                                                         at clojure.core$load_lib.doInvoke(core.clj:5928)                                                                                                                                                                                                                             at clojure.lang.RestFn.applyTo(RestFn.java:142)                                                                                                                                                                                                                              at clojure.core$apply.invokeStatic(core.clj:667)                                                                                                                                                                                                                             at clojure.core$load_libs.invokeStatic(core.clj:5985)                                                                                                                                                                                                                        at clojure.core$load_libs.doInvoke(core.clj:5969)                                                                                                                                                                                                                            at clojure.lang.RestFn.applyTo(RestFn.java:137)                                                                                                                                                                                                                              at clojure.core$apply.invokeStatic(core.clj:667)                                                                                                                                                                                                                             at clojure.core$require.invokeStatic(core.clj:6007)                                                                                                                                                                                                                          at clojure.core$require.doInvoke(core.clj:6007)                                                                                                                                                                                                                              at clojure.lang.RestFn.applyTo(RestFn.java:137)                                                                                                                                                                                                                              at clojure.core$apply.invokeStatic(core.clj:665)                                                                                                                                                                                                                             at clojure.core$apply.invoke(core.clj:660)                                                                                                                                                                                                                                   at metabase.plugins.classloader$require.invokeStatic(classloader.clj:101)                                                                                                                                                                                                    at metabase.plugins.classloader$require.doInvoke(classloader.clj:89)                                                                                                                                                                                                         at clojure.lang.RestFn.invoke(RestFn.java:408)                                                                                                                                                                                                                               at metabase.plugins.init_steps$fn__68317.invokeStatic(init_steps.clj:22)                                                                                                                                                                                                     at metabase.plugins.init_steps$fn__68317.invoke(init_steps.clj:20)                                                                                                                                                                                                           at clojure.lang.MultiFn.invoke(MultiFn.java:229)
        at metabase.plugins.init_steps$do_init_steps_BANG_.invokeStatic(init_steps.clj:32)
        at metabase.plugins.init_steps$do_init_steps_BANG_.invoke(init_steps.clj:27)
        at metabase.plugins.lazy_loaded_driver$make_initialize_BANG_$fn__68395.invoke(lazy_loaded_driver.clj:58)
        at clojure.lang.MultiFn.invoke(MultiFn.java:229)
        at metabase.driver.impl$initialize_if_needed_BANG_.invokeStatic(impl.clj:179)
        at metabase.driver.impl$initialize_if_needed_BANG_.invoke(impl.clj:160)
        at metabase.driver$the_initialized_driver.invokeStatic(driver.clj:147)
        at metabase.driver$the_initialized_driver.invoke(driver.clj:143)
        at metabase.driver$dispatch_on_initialized_driver.invokeStatic(driver.clj:155)
        at metabase.driver$dispatch_on_initialized_driver.doInvoke(driver.clj:150)
        at clojure.lang.RestFn.invoke(RestFn.java:423)
        at clojure.lang.MultiFn.invoke(MultiFn.java:233)
        at metabase.driver.util$can_connect_with_details_QMARK_$fn__22311.invoke(util.clj:32)
        at metabase.util$do_with_timeout$fn__9155.invoke(util.clj:301)
        at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030)
        at clojure.lang.AFn.call(AFn.java:18)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
Caused by: java.lang.RuntimeException: No such var: sql.qp/unix-timestamp->honeysql
        at clojure.lang.Util.runtimeException(Util.java:221)
        at clojure.lang.Compiler.resolveIn(Compiler.java:7388)
        at clojure.lang.Compiler.resolve(Compiler.java:7358)
        at clojure.lang.Compiler.analyzeSymbol(Compiler.java:7319)
        at clojure.lang.Compiler.analyze(Compiler.java:6768)
        ... 62 more
09-28 07:54:06 DEBUG middleware.log :: POST /api/setup/validate 400 104.3 ms (0 DB calls)
{:errors {:dbname "Syntax error compiling at (metabase/driver/clickhouse.clj:166:1)."}}

It seems the problem is related to the plugin itself, probably some dependencies are missing

No such var: sql.qp/unix-timestamp->honeysql

Do anyone has any idea how to fix this?

0.8.3 should work with Metabase v0.44.x