Implement circular JSON object renaming
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zorba |
New
|
Medium
|
Markos Zaharioudakis |
Bug Description
Because of snapshot semantics, in JSONiq it is perfectly fine to do things like:
variable $object := { "foo" : 1, "bar" : 2 };
(rename $object.foo as "bar", rename $object.bar as "foo");
However, Zorba does not support chained renames.
Even though updates are unordered, Zorba (like some other implementations) applies the update primitives in a special, precise order that guarantees that the result cannot be distinguished from the application of all updates at the same time against the same snapshot.
This works for most updates, but chained renames are an exception and need to be handled separately.
Possible strategy:
- Change the internal API of JSONObject:
Changed in zorba: | |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
Changed in zorba: | |
assignee: | nobody → Markos Zaharioudakis (markos-za) |