Details
-
New Feature
-
Status: Open (View Workflow)
-
P3
-
Resolution: Unresolved
-
None
-
None
-
customfield_11100 39762
-
CP: Non-roadmap backlog
-
Core: Platform
Description
Sorting in CQL is expessed using the sortby keyword followed by a list of sort-keys, each expressed as a CQL index name optionally followed by one or more index modifiers — see http://zing.z3950.org/cql/sorting.html#6. For example, title/sort.descending/sort.ignorecase.
The CQL2PgJSON software can and does interpret index modifiers in sort specifications.
Before it was fixed by RMB-735 this only worked for specific indexes: For example, both the examples above work on the `title` index for inventory instances, but not for the `hrid` index.
CQL2PgJSON accepts sort.ascending and sort.descending only. All other sort modifiers are rejected.
Whether the sort is case sensitive or accents sensitive is configured using schema.json only.
This is incorrect, as it is in fact possible to sort by HRID in the absence of an index modifier: the result either is case-sensitive or case-insensitive — whichever semantics pertain, the appropriate modifier should be accepted in the CQL sort clause. For example, if HRID sorting is case-sensitive, then hrid/sort.respectcase should be accepted, and hrid/sort.ignorecase rejected.
Task:
For each sort modifier in the CQL sort clause check whether it matches the index configuration of schema.json. If it matches accept it, if it doesn't match reject it.