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

Should we relax prohibiting Collection(Edm.ComplexType) and Collection(Edm.Untyped)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_ERRATA03
    • Fix Version/s: V4.01_WD01
    • Component/s: CSDL XML
    • Labels:
      None
    • Proposal:
      Hide

      Allow Collection(Edm.ComplexType) and Collection(Edm.Untyped).

      Show
      Allow Collection(Edm.ComplexType) and Collection(Edm.Untyped).

      Description

      When we introduced Edm.PrimitiveType and Edm.ComplexType, we prohibited the use of them in collection-valued properties and return types because in JSON there is no way to annotate the members of an array of primitive types. Complex types don't have the same issue (since they are internally annotated), but IIRC we made the restriction across both primitive and complex types for consistency (and because we knew we could relax it later).

      In ODATA-881 we add support for Edm.Untyped, collections of which would naturally have the same restrictions as Edm.PrimitiveType and Edm.ComplexType (i.e., not be allowed in properties or as return type of function).

      Are we still okay with these restrictions? Should we relax these constraints for collections of complex types? For collections of Edm.Untyped that don't contain primitives? For collections of Edm.Primitive that have "heuristically determinable" types (i.e., Boolean, string, or number)?

      Or, do we say that collections of primitive, complex, or untyped are modeled as Edm.Untyped (which could be a collection)?

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: