Skip to content

retraction of an inexistent value of cardinality/one causes server panic #45

@spacegangster

Description

@spacegangster

If a value isn't there, then retraction and its cardinality is one, then if I retract it – Declarative server panics. Not sure if it's a bug though.

reproduction below

; in core namespace
  (def schema
     :loan/epoch  (merge
                   (of-type :Number)
                   (input-semantics :db.semantics.cardinality/one)
                   (tx-time))})

; connect, submit schema then
  (exec! conn
         (transact db
                   [[:db/retract #uuid "1550c322-9111-44f8-a939-c53cee0d9774"
                     :loan/epoch 4]]))

Panic

 server git:(a1323c6) ✗ RUST_BACKTRACE=1 cargo run                                                                                                                   
    Finished dev [unoptimized + debuginfo] target(s) in 0.05s                      
     Running `target/debug/declarative-server`                                                                                                                         
                                         
                                                                                                                                                                       
2thread 'worker thread 0' panicked at 'Received a retraction of a new key on a CardinalityOne attribute', /Users/spacegangster/clj/declarative-dataflow/src/operators/m
od.rs:76:29  

And I think now I don't understand what does cardinality means in this context.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions