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

Clients should be prepared to deal with new derived types

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: V4.0_OS
    • Fix Version/s: V4.0_ERRATA01
    • Component/s: Protocol
    • Labels:
      None
    • Environment:

      [Applied]

    • Proposal:
      Hide

      Clarify that clients should be prepared to see new types in the payload by extending the paragraph following the bulleted list of accepatable changes in 5.2, Model Versioning, with the following:

      "Clients SHOULD be prepared for services to make such incremental changes to their model. In particular, clients should be prepared to receive properties and types, including derived types, not previously defined by the service."

      Remove the misleading verbage "that does not derive from any entity types exposed by existing entity sets, or returned by existing functions or actions.

      Show
      Clarify that clients should be prepared to see new types in the payload by extending the paragraph following the bulleted list of accepatable changes in 5.2, Model Versioning, with the following: "Clients SHOULD be prepared for services to make such incremental changes to their model. In particular, clients should be prepared to receive properties and types, including derived types, not previously defined by the service." Remove the misleading verbage "that does not derive from any entity types exposed by existing entity sets, or returned by existing functions or actions.

      Description

      In metadata versioning we currently say that it's safe to add a new type as long as it "does not derive from any entity types exposed by existing entity sets, or returned by existing functions or actions"

      This implies that it is not safe to add a new entity type that derives from an entity type used in an entity set/function/action. But this restriction is unnecessary, as clients should always be prepared for new types not specified in $metadata (for example, types of dynamic properties).

      The same is true for complex types.

      For such derived types, the payload will contain the @odata.type annotation with the qualified name of the metadata describing the type, and clients should always be prepared for such types.

        Attachments

          Activity

            People

            • Assignee:
              mikep Michael Pizzo
              Reporter:
              mikep Michael Pizzo
            • Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: