Skip to content

Here are two cases of ClassCastException #369

Description

@darkleaf

jvm 14, clojure 1.10.1, datascipt 1.0.1

First case

(-> (d/empty-db {:attr {:db/cardinality :db.cardinality/many}})
    (d/db-with [[:db/add -1 :attr 1]
                [:db/add -1 :attr "str"]]))
;; BOOM
(-> (d/empty-db)
    (d/db-with [[:db/add -1 :attr 1]
                [:db/add -2 :attr "str"]]))
;; it's ok

It fails with ClassCastException in case of db.cardinality/many but works in case of db.cardinality/one.

Second case

(let [db1 (-> (d/empty-db)
              (d/db-with [[:db/add -1 :attr 1]]))
      db2 (-> (d/empty-db)
              (d/db-with [[:db/add -1 :attr "str"]]))]
  (clojure.data/diff db1 db2))

;; BOOM

Is PR welcome? :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions