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

Transformation for sorting entities created by a $apply transformation

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_CSD03
    • Fix Version/s: V4.0_CSD04
    • Component/s: Data Aggregation
    • Labels:
      None
    • Environment:

      Applied

    • Proposal:
      Hide

      Define transformation orderby that takes an expression also valid for the $orderby system query option and returns the entities of the input set in the same order $orderby would produce for the given expression.

      orderby expression of the orderby transformation conforms to same abnf as the system query option; minimal bar is property path expressions (which can include computed properties) with asc/desc.

      Show
      Define transformation orderby that takes an expression also valid for the $orderby system query option and returns the entities of the input set in the same order $orderby would produce for the given expression. orderby expression of the orderby transformation conforms to same abnf as the system query option; minimal bar is property path expressions (which can include computed properties) with asc/desc.

      Description

      Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

      If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

      This leads to the requirement for a dedicated orderby transformation. An example application is described in https://issues.oasis-open.org/browse/ODATA-1158.

        Attachments

          Activity

          gerald.krause1 Gerald Krause created issue -
          gerald.krause1 Gerald Krause made changes -
          Field Original Value New Value
          Description Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

          If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

          This leads to the requirement for a dedicated orderby transformation. Known use cases include grid-like access to aggregated data, which is described in more detail in this separate document (https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata), and paging inside transformation sequences (addressed in <issue>).
          Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

          If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

          This leads to the requirement for a dedicated orderby transformation. Known use cases include grid-like access to aggregated data, which is described in more detail in this separate document (https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata), and paging inside transformation sequences (addressed in https://issues.oasis-open.org/browse/ODATA-1158).
          gerald.krause1 Gerald Krause made changes -
          Description Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

          If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

          This leads to the requirement for a dedicated orderby transformation. Known use cases include grid-like access to aggregated data, which is described in more detail in this separate document (https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata), and paging inside transformation sequences (addressed in https://issues.oasis-open.org/browse/ODATA-1158).
          Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

          If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

          This leads to the requirement for a dedicated orderby transformation. Known use cases include grid-like access to aggregated data, which is described in more detail in this separate document (https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata), and paging inside transformation sequences (addressed in https://issues.oasis-open.org/browse/ODATA-1158 ).
          gerald.krause1 Gerald Krause made changes -
          Proposal Define transformation orderby that takes an expression also valid for the $orderby system query option, with an extension for data aggregation that allows to specify sorting of undefined properties.

          Details are described in the document “Grid-Like Access to Aggregated Data”, sections 4 and 8.1: https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata
          Define transformation orderby that takes an expression also valid for the $orderby system query option.
          Description Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

          If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

          This leads to the requirement for a dedicated orderby transformation. Known use cases include grid-like access to aggregated data, which is described in more detail in this separate document (https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata), and paging inside transformation sequences (addressed in https://issues.oasis-open.org/browse/ODATA-1158 ).
          Transformation concat allows to create result sets from the output sets of two or more transformation sequences passed to concat as arguments.

          If entities of just one of these sequences shall be sorted, or the output sets shall be sorted differently, this cannot be achieved with the system query option $orderby, which always operates on the entire set produced by $apply.

          This leads to the requirement for a dedicated orderby transformation. An example application is described in https://issues.oasis-open.org/browse/ODATA-1158.
          gerald.krause1 Gerald Krause made changes -
          Proposal Define transformation orderby that takes an expression also valid for the $orderby system query option. Define transformation orderby that takes an expression also valid for the $orderby system query option and returns the entities of the input set in the same order $orderby would produce for the given expression.
          mikep Michael Pizzo (Inactive) made changes -
          Status New [ 10000 ] Open [ 1 ]
          mikep Michael Pizzo (Inactive) made changes -
          Proposal Define transformation orderby that takes an expression also valid for the $orderby system query option and returns the entities of the input set in the same order $orderby would produce for the given expression. Define transformation orderby that takes an expression also valid for the $orderby system query option and returns the entities of the input set in the same order $orderby would produce for the given expression.

          orderby expression of the orderby transformation conforms to same abnf as the system query option; minimal bar is property path expressions (which can include computed properties) with asc/desc.
          Hide
          handl Ralf Handl added a comment -

          Resolved 2018-05-17

          Show
          handl Ralf Handl added a comment - Resolved 2018-05-17
          handl Ralf Handl made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]
          gerald.krause1 Gerald Krause made changes -
          Environment Proposed Applied
          handl Ralf Handl made changes -
          Status Resolved [ 5 ] Applied [ 10002 ]
          heiko.theissen Heiko Theissen made changes -
          Status Applied [ 10002 ] Closed [ 6 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              gerald.krause1 Gerald Krause
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: