Implement the latest JSONiq spec changes into Zorba

Bug #1210059 reported by Ghislain Fourny
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Zorba
Fix Committed
High
Markos Zaharioudakis

Bug Description

The following changes regarding the XQuery parser need to be implemented (if not already):

- JSON Navigation (empty sequence must be returned if the lhs is a node or an atomic).
- Check that $object() is equivalent to jn:keys($object), i.e., with key duplicate elimination, and $array() is equivalent to members($array).

As well as these regarding functions in both parsers:

- remove jn:is-null, jn:object
- relax signatures of libjn:descendant-objects, libjn:descendant-pairs, libjn:values, libjn:flatten, libjn:project to item*. new-version($s) is basically equivalent to: $s ! typeswitch ($$) case the-right-type() return old-one-item-version($$) default return ().
- Add libjn:descendant-arrays().
- Relax jn:size to accept empty sequence.
- Fix roundtrippability of decimals and doubles in jn:encode-for-roundtrip (decimals must be serialized with a dot and doubles with an e).

And also in both parsers:

- Check that the fixed corner cases of serialization are handled correctly in zorba (trailing zeros, absence of digits, leading +, which are allowed in the JDM but not in the JSON syntax that zorba should output).
- Relax EBV of sequences beginning with an object or array to be true

Changed in zorba:
assignee: nobody → Markos Zaharioudakis (markos-za)
milestone: none → 3.0
importance: Undecided → High
Revision history for this message
Markos Zaharioudakis (markos-za) wrote :

Ghislain, please make a separate bug for all issues regarding serialization and assign it to Nicolae, or whoever else you think appropriate, but not me.

Changed in zorba:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.