ff-notes / ron

Haskell implementation of RON and RON-RDT
BSD 3-Clause "New" or "Revised" License
65 stars 9 forks source link

Strange error #113

Closed willbasky closed 4 years ago

willbasky commented 4 years ago

When schema is

  (struct_set Tag
    #haskell {field_prefix "tag_"}
    record String #ron{merge LWW})

  (struct_set Note
    #haskell {field_prefix "note_"}
    status  NoteStatus  #ron{merge LWW}
    text    RgaString
    start   Day         #ron{merge LWW}
    end     Day         #ron{merge LWW}
    tags    (ORSet Tag)
    track   Track)

And some notes has tags it returns error:

$ ff
ff: Error "loadNote"
    [ Error "getObject @Note"
        [ Error "note_tags"
            [ Error "ORSet.viewField"
                [ Error "rconcat" [ Error "Expected object UUID" [] ] ]
            ]
        ]
    , Error "getObject @NoteV2"
        [ Error "bad type"
            [ Error "expected "lww"" []
            , Error "got "set"" []
            ]
        ]
    ]
cblp commented 4 years ago

The previous schema may be

...
tags (ORSet String)
...
willbasky commented 4 years ago

Then Schema became tag Tag where Tag = Tag (ORSet String)

after schema became tag (ORSet Tag) where Tag = Tag String ff fails.

After object with previous schema of tags was deleted and notes created on new schema, ff restored working.