Closed rs-idesis closed 1 year ago
This bug is caused by the codec cache, essentially:
Actor
and Director
since they use the same shapeActor
and Director
Movie
^2, when it initializes the Movie.actors
property, it changes the one codec responsible for deserializing .actors
state, then it initializes the Movie.directors
property, overriding the one codecs state to be for the .NET Director
type, causing .actors
to be treated as a Director
My initial thoughts on how to fix this is to clone non-scalar codecs that show up more than once under different property names, I'll continue looking for a fix
Describe the bug A select query with links to shapes of different types but the of the same base type, like author and director of movies being all persons, results in conversion errors as long as the shapes' fields are queried in exactly the same way (same fields in the same order):
Reproduction The following query, where actors and directors are defined in the same way, cause the exception. As soon as the order of one shape is changed, everything is working.
A full example with schema and db content can be found here.
Expected behavior Shapes should be converted to the correct object type, regardless of "field randomisation".
Versions (please complete the following information):
edgedb-net
version: 1.1.3