Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-555

Clarify whether or not system query options can be used more than once in a URL

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_CSD03
    • Fix Version/s: V4.0_CS02
    • Component/s: Protocol, URL Conventions
    • Labels:
      None
    • Environment:

      [Applied]

    • Proposal:
      Hide

      Proposal 1: Don't allow any system query options to be used more than once

      Proposal 2:

      • Allow multiple $select where the resultant projection is the union of all the individual $selects.
      • Allow multiple $expand where the resultant expanded relationships is the union of all the individual $expands.
      • Allow multiple $filter where the resultant query is all the individual $filters composed with AND (and combined with all $searches)
      • Allow multiple $search where the resultant query is the individual $searches composed with AND (and combined with all $filters)
      • All other system query options cannot be used multiple times

      Proposal 3:
      Continuing from proposal 2, also allow $orderby, $top and $skip to be used more than once:

      • $top and $skip, add the numbers together
      • Allow multiple $orderby where the resultant order by is the union of all the individual $orderbys where the $orderbys that appear earlier in the URL are given higher sort priority.

      Proposal 1 is certainly the simplest. Proposal 2 and 3 allow a more flexible request URL but they do not add any functionality that cannot be accomplished with proposal 1.

      Proposal 1 was accepted: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/51209/odata-meeting-58_on-20131024-minutes.html#odata-555

      Show
      Proposal 1: Don't allow any system query options to be used more than once Proposal 2: Allow multiple $select where the resultant projection is the union of all the individual $selects. Allow multiple $expand where the resultant expanded relationships is the union of all the individual $expands. Allow multiple $filter where the resultant query is all the individual $filters composed with AND (and combined with all $searches) Allow multiple $search where the resultant query is the individual $searches composed with AND (and combined with all $filters) All other system query options cannot be used multiple times Proposal 3: Continuing from proposal 2, also allow $orderby, $top and $skip to be used more than once: $top and $skip, add the numbers together Allow multiple $orderby where the resultant order by is the union of all the individual $orderbys where the $orderbys that appear earlier in the URL are given higher sort priority. Proposal 1 is certainly the simplest. Proposal 2 and 3 allow a more flexible request URL but they do not add any functionality that cannot be accomplished with proposal 1. Proposal 1 was accepted: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/51209/odata-meeting-58_on-20131024-minutes.html#odata-555
    • Resolution:
      Show
      https://www.oasis-open.org/committees/download.php/51284/odata-v4.0-wd05-part1-protocol-2013-11-04.docx https://www.oasis-open.org/committees/download.php/51285/odata-v4.0-wd05-part2-url-conventions-2013-11-04.docx Accepted: https://www.oasis-open.org/committees/download.php/51290/odata-meeting-60_on-20131104-minutes.html#odata-555

      Description

      The ABNF allows system query options to be used more than once (not nested in an $expand), but none of the documents restrict this or provide an explanation of what the behavior would be when the same system query option is used more than once in the same URL.

        Attachments

          Activity

            People

            • Assignee:
              martinzurmuehl Martin Zurmuehl
              Reporter:
              matthew.borges Matthew Borges (Inactive)
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: