Clarify the algorithm for evaluating the compute transformation

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major
    • V4.0_CSD04
    • Affects Version/s: None
    • Component/s: Data Aggregation
    • None
    • Environment:

      Applied

    • Hide

      The output set is constructed by copying the instances of the input set and adding one dynamic property per compute expression to each instance of the input output set. The name of the added property is the alias following the as keyword. The value of the property is the value of the compute expression evaluated relative to that instance. Services MAY support expressions that address dynamic properties added by other expressions within the same compute transformation, provided that the service can determine an evaluation sequence.

      Show
      The output set is constructed by copying the instances of the input set and adding one dynamic property per compute expression to each instance of the input output set. The name of the added property is the alias following the as keyword. The value of the property is the value of the compute expression evaluated relative to that instance. Services MAY support expressions that address dynamic properties added by other expressions within the same compute transformation, provided that the service can determine an evaluation sequence.
    • Show
      https://www.oasis-open.org/apps/org/workgroup/odata/download.php/70489/odata-data-aggregation-ext-v4.0-csd04.docx

      It seems warranted that compute expressions can use dynamic properties that were computed by previous compute expressions, as in compute(A add B as C, C mul 2 as D).

      And the sequence of the compute expressions should not matter, therefore compute(C mul 2 as D, A add B as C) should produce the same result. The server must determine an appropriate sequence in which to evaluate the compute expressions, or fail if a cycle is detected.

            Assignee:
            Unassigned
            Reporter:
            heiko.theissen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: