replikativ / datahike

A fast, immutable, distributed & compositional Datalog engine for everyone.
https://datahike.io
Eclipse Public License 1.0
1.62k stars 95 forks source link

[Bug]: create-database without config throws exception #621

Closed TimoKramer closed 1 year ago

TimoKramer commented 1 year ago

What version of Datahike are you using?

0.6.1539

What version of Java are you using?

19

What operating system are you using?

linux

What database EDN configuration are you using?

none

Describe the bug

So far it was possible to use (create-database) without config and that's what's specced as well. Now when I do this I am getting an error:

#error {
 :cause "Wrong number of args (0) passed to: datahike.writer/backend-dispatch"
 :via
 [{:type clojure.lang.ArityException
   :message "Wrong number of args (0) passed to: datahike.writer/backend-dispatch"
   :at [clojure.lang.AFn throwArity "AFn.java" 429]}]
 :trace
 [[clojure.lang.AFn throwArity "AFn.java" 429]
  [clojure.lang.RestFn invoke "RestFn.java" 399]
  [clojure.lang.MultiFn invoke "MultiFn.java" 225]
  [clojure.lang.AFn applyToHelper "AFn.java" 152]
  [clojure.lang.AFn applyTo "AFn.java" 144]
  [clojure.core$apply invokeStatic "core.clj" 667]
  [clojure.core$apply invoke "core.clj" 662]
  [datahike.api$create_database invokeStatic "api.cljc" 114]
  [datahike.api$create_database doInvoke "api.cljc" 113]
  [clojure.lang.RestFn invoke "RestFn.java" 397]
  [datahike_distributed.core$eval44375 invokeStatic "NO_SOURCE_FILE" 17]
  [datahike_distributed.core$eval44375 invoke "NO_SOURCE_FILE" 17]
  [clojure.lang.Compiler eval "Compiler.java" 7194]
  [clojure.lang.Compiler eval "Compiler.java" 7149]
  [clojure.core$eval invokeStatic "core.clj" 3215]
  [clojure.core$eval invoke "core.clj" 3211]
  [nrepl.middleware.interruptible_eval$evaluate$fn__1353$fn__1354 invoke "interruptible_eval.clj" 87]
  [clojure.lang.AFn applyToHelper "AFn.java" 152]
  [clojure.lang.AFn applyTo "AFn.java" 144]
  [clojure.core$apply invokeStatic "core.clj" 667]
  [clojure.core$with_bindings_STAR_ invokeStatic "core.clj" 1990]
  [clojure.core$with_bindings_STAR_ doInvoke "core.clj" 1990]
  [clojure.lang.RestFn invoke "RestFn.java" 425]
  [nrepl.middleware.interruptible_eval$evaluate$fn__1353 invoke "interruptible_eval.clj" 87]
  [clojure.main$repl$read_eval_print__9206$fn__9209 invoke "main.clj" 437]
  [clojure.main$repl$read_eval_print__9206 invoke "main.clj" 437]
  [clojure.main$repl$fn__9215 invoke "main.clj" 458]
  [clojure.main$repl invokeStatic "main.clj" 458]
  [clojure.main$repl doInvoke "main.clj" 368]
  [clojure.lang.RestFn invoke "RestFn.java" 1523]
  [nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 84]
  [nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 56]
  [nrepl.middleware.interruptible_eval$interruptible_eval$fn__1386$fn__1390 invoke "interruptible_eval.clj" 152]
  [clojure.lang.AFn run "AFn.java" 22]
  [nrepl.middleware.session$session_exec$main_loop__1456$fn__1460 invoke "session.clj" 218]
  [nrepl.middleware.session$session_exec$main_loop__1456 invoke "session.clj" 217]
  [clojure.lang.AFn run "AFn.java" 22]
  [java.lang.Thread run "Thread.java" 1589]]}

What is the expected behaviour?

It should use a randomized mem-store without config.

How can the behaviour be reproduced?

Run (create-database).