OData Version 4.0 Errata 01

OASIS Approved Errata

04 September 2014

Specification URIs

This version:

http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/odata-v4.0-errata01-os.doc (Authoritative)

http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/odata-v4.0-errata01-os.html

http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/odata-v4.0-errata01-os.pdf

Previous version:

N/A

Latest version:

http://docs.oasis-open.org/odata/odata/v4.0/errata01/odata-v4.0-errata01.doc (Authoritative)

http://docs.oasis-open.org/odata/odata/v4.0/errata01/odata-v4.0-errata01.html

http://docs.oasis-open.org/odata/odata/v4.0/errata01/odata-v4.0-errata01.pdf

Technical Committee:

OASIS Open Data Protocol (OData) TC

Chairs:

Ralf Handl (ralf.handl@sap.com), SAP AG

Ram Jeyaraman (Ram.Jeyaraman@microsoft.com), Microsoft

Editors:

Michael Pizzo (mikep@microsoft.com), Microsoft

Ralf Handl (ralf.handl@sap.com), SAP AG

Martin Zurmuehl (martin.zurmuehl@sap.com), SAP AG

Hubert Heijkers (hubert.heijkers@nl.ibm.com), IBM

Additional artifacts:

This prose specification is one component of a Work Product that also includes:

·         OData Version 4.0 Part 1: Protocol Plus Errata 01. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 04 September 2014. OASIS Standard incorporating Approved Errata 01. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/part1-protocol/odata-v4.0-errata01-os-part1-protocol-complete.html.

·         OData Version 4.0 Part 2: URL Conventions Plus Errata 01. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 04 September 2014. OASIS Standard incorporating Approved Errata 01. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/part2-url-conventions/odata-v4.0-errata01-os-part2-url-conventions-complete.html.

·         OData Version 4.0 Part 3: Common Schema Definition Language (CSDL) Plus Errata 01. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 04 September 2014. OASIS Standard incorporating Approved Errata 01. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/part3-csdl/odata-v4.0-errata01-os-part3-csdl-complete.html.

·         ABNF components: OData ABNF Construction Rules Version 4.0 and OData ABNF Test Cases. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/abnf/.

·         Vocabulary components: OData Core Vocabulary, OData Measures Vocabulary and OData Capabilities Vocabulary. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/vocabularies/.

·         XML schemas: OData EDMX XML Schema and OData EDM XML Schema. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/schemas/.

·         OData Metadata Service Entity Model: http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/complete/models/.

·         Change-marked (redlined) versions of OData Version 4.0 Part 1, Part 2, and Part 3. OASIS Standard incorporating Approved Errata 01. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/redlined/.

Related work:

This specification is related to:

·         OData Version 4.0 Part 1: Protocol. Edited by Michael Pizzo, Ralf Handl, and Martin Zurmuehl. 24 February 2014. OASIS Standard. http://docs.oasis-open.org/odata/odata/v4.0/os/part1-protocol/odata-v4.0-os-part1-protocol.html.

·         OData JSON Format Version 4.0. Edited by Ralf Handl, Michael Pizzo, and Mark Biamonte. OASIS Standard. 24 February 2014. http://docs.oasis-open.org/odata/odata-json-format/v4.0/os/odata-json-format-v4.0-os.html.

·         OData Atom Format Version 4.0. Edited by Martin Zurmuehl, Michael Pizzo, and Ralf Handl. Latest version: http://docs.oasis-open.org/odata/odata-atom-format/v4.0/odata-atom-format-v4.0.html.

Abstract:

This document lists Approved Errata for the OASIS Standard OData Version 4.0.

Status:

This document was last revised or approved by the OASIS Open Data Protocol (OData) TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document. Any other numbered Versions and other technical work produced by the Technical Committee (TC) are listed at https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata#technical.

TC members should send comments on this specification to the TC’s email list. Others should send comments to the TC’s public comment list, after subscribing to it by following the instructions at the “Send A Comment” button on the TC’s web page at https://www.oasis-open.org/committees/odata/.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (https://www.oasis-open.org/committees/odata/ipr.php).

Citation format:

When referencing this specification the following citation format should be used:

[OData-v4.0-errata01]

OData Version 4.0 Errata 01. Edited by Michael Pizzo, Ralf Handl, Martin Zurmuehl, and Hubert Heijkers. 04 September 2014. OASIS Approved Errata. http://docs.oasis-open.org/odata/odata/v4.0/errata01/os/odata-v4.0-errata01-os.html. Latest version: http://docs.oasis-open.org/odata/odata/v4.0/errata01/odata-v4.0-errata01.html.

 

Notices

Copyright © OASIS Open 2014. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark for above guidance.

 

Table of Contents

1        Introduction. 5

1.1 Normative References. 5

2        Part 1: Protocol 6

3        Part 2: URL Conventions. 10

4        Part 3: Common Schema Definition Language. 11

5        ABNF Construction Rules. 13

6        ABNF Test Cases. 15

7        XSD Schema: edm.. 18

8        EDMX Schema: MetadataService. 19

Appendix A.       Acknowledgments. 20

Appendix B.       Revision History. 21

 

 


1      Introduction

This document lists the approved changes to the OData Version 4.0 specification and contains one chapter per changed part of the specification.

Additional documents containing the final specification text with these changes applied are also available and linked in section "Additional artifacts" on the title page.

1.1 Normative References

 [OData-Protocol]    OData Version 4.0 Part 1: Protocol.
See link in “Related work” section on cover page.

2      Part 1: Protocol

Section

Issue

Comment

1.2 Normative References

706

Reference to obsolete RFC 2616 removed, references to draft RFCs updated to non-draft RFCs

3 Data Model

651     

Made entity identity description more precise

4.1 Entity-Ids and Entity References

651

Made entity identity description more precise

4.2 Read URLs and Edit URLs

647

Consistent use of Read/Edit URL and Read/Edit Link

5.2 Model Versioning

 

683

Clarified rules around schema versioning

684

Clarified rules around schema versioning

6.1 Query Option Extensibility

 

668

Minor editorial changes

698

Clarified handling of query options in returned URLs

7 Formats

706

Reference updated

8.1.1 Header Content-Type

 

624

Clarified rules around custom format parameters

700

Clarified rules around use of custom query options

706

Reference updated

8.1.2 Header Content-Encoding

706

Reference updated

8.1.3 Header Content-Language

706

Reference updated

8.1.4 Header Content-Length

706

Reference updated

8.2.1 Header Accept

 

624

Clarified rules around custom format parameters

706

Reference updated

8.2.2 Header Accept-Charset

706

Reference updated

8.2.3 Header Accept-Language

706

Reference updated

8.2.4 Header If-Match

 

632     

Fixed typo to match defined term name

680

Clarified use of If-Match with Actions

706

Reference updated

8.2.5 Header If-None-Match

 

632

Fixed typo to match defined term name

706

Reference updated

8.2.8 Header Prefer

706

Reference updated

8.2.8.7 Preference return=representation and return=minimal

668

Minor editorial changes

706

Reference updated

8.2.8.8 Preference respond-async

706

Reference updated

8.2.8.9 Preference wait

706

Reference updated

8.3.4 Header Preference-Applied

706

Reference updated

9.1.4 Response Code 204 No Content

706

Reference updated

9.1.5 Response Code 3xx Redirection

706

Reference updated

9.1.6 Response Code 304 Not Modified

 

670

Removed invalid case

706

Reference updated

9.2.2 Response Code 405 Method not Allowed

706

Reference updated

9.2.4 Response Code 412 Precondition Failed

 

670

Imported definition of 412 response code from [RFC2616] to reference from other sections that use it

706

Reference updated

9.3 Server Error Responses

706

Reference updated

10 Context URL

711

Fixed description of {type-name}

10.2,10.3,10.7,10.8,10.9,10,10.16 Context URL

712

Spelled out construction rules for unknown entity set cases

10.6 Derived Entity

668

Minor editorial changes

10.9 Collection of Projected Entities

705

Moved example 19 from section 10.8

10.14 Collection of Complex or Primitive Types

709

Added missing parens to example 25

710

Clarified use case

10.15 Complex or Primitive Type

 

709

Added missing parens to example 26

710

Clarified use case

11.2 Requesting Data

620

Consistent use of "structural"

11.2.4.2 System Query Option $expand          

591

Consistent use of "related"

668

Minor editorial changes

11.2.4.2.1 Expand Options

591

Consistent use of "related"

668

Minor editorial changes

11.2.4.2.1.1 Expand Option $levels

668

Minor editorial changes

11.2.5.1 System Query Option $filter

608

Consistent description of $count segment

11.2.5.1.2 Build-in Query Functions

578

Fixed non-normative example

11.2.5.2 System Query Option $orderby

608

Consistent description of $count segment

11.2.5.5 System Query Option $count

608

Added client guidance

11.2.5.7 Server-Driven Paging

650

Clarified the use of $format in delta links

11.2.9 Requesting the Number of Items in a Collection

608

Consistent description of $count segment

620

Consistent use of "primitive"

11.4.1.5 Returning Results from Data Modification Request

 

645

Added section to centralized common description of rules for returning an entity from a data modification

646

Added section to centralize common description of rules for returning an entity from a data modification

682

Clarified rules in new section for media entities

11.4.2 Create an Entity

668

Minor editorial changes

11.4.2.1 Link to Related Entities When Creating an Entity

691

Removed use of "associated"

11.4.2.2 Create Related Entities When Creating an Entity

689

Called out that media entities do not support deep inserts

11.4.3 Update an Entity

623

Made wording more precise

634

More consistent/precise wording

635

Called out handling of id and type in update payload

643

More consistent/precise wording

11.4.4 Upsert an Entity

609

Made wording consistent with Update

610

Describe limitation of upserts with server generated keys

11.4.7.3 Deleting a Media Entity

688

Clarified handling of media entity URL for Delete

11.4.8.2 Deleting Stream Values

688

Clarified handling of media entity URL for Delete

11.4.9 Managing Values and Properties Directly

647

Formally define the “edit URL” of a property

11.4.9.1 Update a Primitive Property

717

Added description of update using /$value

11.4.9.2 Set a Value to Null

 

688

Clarified handling of media entity URL for Delete

586

Clarified error results

721

Minor editorial changes

11.4.9.3 Update a Complex Type

721

Corrected section title

11.5.3.1.1 Inline Parameter Syntax

668

Minor editorial changes

11.6 Asynchronous Requests

 

668

Minor editorial changes

706

Reference updated

11.7.1 Batch Request Headers

679

Fixed header value in non-normative code example

11.7.3 Change Sets

713

Minor editorial change

11.7.3.1 Referencing New Entities in a Change Set

697

Clarified use of $<content-id> in a changeset

11.7.4 Responding to a Batch Request

713

Minor editorial change

12 Security Considerations

706

Reference updated

13.1.1 OData Minimal Conformance Level

612

Consistent use of Read/Edit URL and Read/Edit Link

3      Part 2: URL Conventions

Section

Issue

Comment

2 Url Components

565

Clarified that percent-decoding happens exactly once and copied reference to RFC3986 from [OData-ABNF]

3 Service Root URL

611

Clarified that, as per the [OData-ABNF] rules, the service root always terminates in a forward slash.

4 Resource Path

527

Removed incorrect reference to Content-Location.

4.8 Addressing Count of a Collection

608

Replicated common semantics of composing system query options to $count for better locality/discoverability

4.12 Addressing All Entities in a Service

602

Replicated common semantics for composing type segments to collections and added examples for better locality/discoverability

5.1 System Query Options

608

Added missing rule from [OData-ABNF] around composing $filter and $search to /$count

5.1.1.1 Logical Operators

622

Called out eq/ne comparison for stream,binary,geo types

5.1.1.4.28 isof

564

Added reference to assignment rules in 5.1.1.4.29 cast

5.1.1.4.29 cast

671

Made description of type returned by cast function consistent with [OData-ABNF]

564

Included description of assignability of structured types to enable this section to be shared with isof

562

Corrected typo; the first four rules (not three) all refer to primitive types

5.1.1.6.2 Complex and Collection Literals

636

Described the use of parameter aliases to reference inline complex and collection values

5.1.1.6.4 $it

663

Called out use of /$it for invoking bound functions (as per [OData-ABNF]) and added example

5.1.2 $expand

 

604

Optional cast to complex type, ABNF was more restrictive than normative prose text

718

Add descriptive text for counting related entities

5.1.3 $select

642

Made description more precise

604

Optional cast to complex type, ABNF was more restrictive than normative prose text

 

4      Part 3: Common Schema Definition Language

Section

Issue

Comment

3.2 Element edmx:DataServices

668

Minor editorial changes

3.3 edmx:Reference

681

Clarified alias conflicts and recursive referencing

3.3.1 Attribute Uri

668

Minor editorial changes

3.4.2 Attribute Alias

681

Clarified alias conflicts and recursive referencing

4.4 Primitive Types

603

Clarified the usage of the primitive type Edm.Stream

5.1.1 Attribute Namespace

668

Minor editorial changes

6.2 Property Facet

668

Minor editorial changes

6.2.4 Attribute Scale

566

Clarified allowed range of Scale values

6.2.7 Attribute DefaultValue

668

Minor editorial changes

7.1.5 Attribute ContainsTarget

 

668

Minor editorial changes

685

Described use of NavPropBinding with Containment

722

Minor editorial change

8.1.5 Attribute HasStream

559

Clarified relationship of HasStream attribute and inheritance

10 Enumeration Type

620

Consistent use of "nominal"

11.1.3 Type Definition Facets

668

Minor editorial changes

12.1 Element edm:Action

620

Consistent use of "primitive"

12.2 Element edm:Function

620

Consistent use of "primitive"

13 Entity Container

651

Removed redundant and confusing note referencing “Part 1: Protocol”

13.4.1 Attribute Path

685

Described use of NavPropBinding with Containment

 

 

13.4.2 Attribute TargetPath

13.6 Element edm:FunctionImport

621

Clarified, that all overloads of unbound functions specified in a function import are callable from the entity container

14.1.4 Attribute DefaultValue

668

Minor editorial changes

14.1.5 Attribute AppliesTo

676

Clarified client expectations around AppliesTo

14.2.1 Attribute Target

672

Removed unnecessary reference to TargetPath section

639

Called out that the Schema element can be annotated by inline annotations

668

Minor editorial changes

700

Described targeting property of an entity type within an entityset

14.3 Element edm:Annotation

544

Included missing ReturnType in annotatable elements

14.5.1 Comparison and Logical Operators

668

Minor editorial changes

14.5.6 Expression edm:If

668

Minor editorial changes

14.5.11 Expression edm:NavigationPropertyPath

620

Consistent use of "structural"

14.5.13 Expression edm:PropertyPath

620

Consistent use of "structural"

14.5.15 Expression edm:UrlRef

570

Consistent description of relative reference handling

625

Added example

15.1 Entity Model Wrapper

668

Minor editorial changes

15.2 Schema

668

Minor editorial changes

15.3 Types

661

Added enumeration member name syntax from [OData-ABNF]

652

Fixed typo to match defined term name

15.6 Entity Container

641

Added missing IncludeInServiceDocument property in example

16.1 Products and Categories Example

652

Corrected vocabulary URIs in example.

17.5 TargetPath

672

Removed unused path expression

668

Minor editorial changes

17.6 Boolean

668

Minor editorial changes

 

5      ABNF Construction Rules

Line

Issue

Comment

167

569

Optional type-cast segment for boundComplexColFuncCall, ABNF was more restrictive than normative prose text

/ boundComplexColFuncCall [ "/" qualifiedComplexTypeName ] [ collectionPath ]

245

604

Optional cast to complex type, ABNF was more restrictive than normative prose text

expandPath = [ ( qualifiedEntityTypeName / qualifiedComplexTypeName ) "/" ]

261

590

Discourage leading zeroes in $levels

levels = '$levels' EQ ( oneToNine 1*DIGIT / 'max' )

299

604

Optional cast to complex type, ABNF was more restrictive than normative prose text

/ [ ( qualifiedEntityTypeName / qualifiedComplexTypeName ) "/" ]

426

723

/ streamProperty              [ singlePathExpr ]

522

720

Made hasExpr more precise

hasExpr = RWS 'has' RWS commonExprenum

662

668

Added comment that forward slash literal is allowed in query part of URLs

/ ( "/" / "%2F" ) ; solidus U+002F - literal form is allowed in the query part of a URL

897

567

Hour value 22 is allowed

/ "2" ( "0" / "1" / "2" / "3" )

992

668

Refactored header rules to use new rule EQ-h for equal signs in headers

; / token [EQ-hBWS "=" BWS word ] *( OWS ";" [ OWS parameter ] )

996

668

Refactored header rules to use new rule EQ-h for equal signs in headers

callbackPreference = "odata.callback" OWS ";" OWS "url" EQ-hBWS "=" BWS DQUOTE URI DQUOTE

1000

668

Refactored header rules to use new rule EQ-h for equal signs in headers

includeAnnotationsPreference = "odata.include-annotations" EQ-hBWS "=" BWS DQUOTE annotationsList DQUOTE

1008

668

Refactored header rules to use new rule EQ-h for equal signs in headers

maxpagesizePreference = "odata.maxpagesize" EQ-hBWS "=" BWS oneToNine *DIGIT

1012

668

Refactored header rules to use new rule EQ-h for equal signs in headers

returnPreference = "return" EQ-hBWS "=" BWS ( 'representation' / 'minimal' )

1016

668

Refactored header rules to use new rule EQ-h for equal signs in headers

waitPreference = "wait" EQ-hBWS "=" BWS 1*DIGIT

1018

668

Refactored header rules to use new rule EQ-h for equal signs in headers

;parameter = token [ EQ-hBWS "=" BWS word ]

1029

668

Rule OWS is only used in headers where no percent-encoding is allowed

OWS = *( SP / HTAB ) ; "optional" whitespace

668

Added rule BWS-h for discouraged whitespace in headers

BWS-h = *( SP / HTAB ) ; "bad" whitespace in header values

668

Added rule EQ-h for equal sign with discouraged whitespace in headers

EQ-h = BWS-h EQ BWS-h

1034

668

Rule OWS moved to header section

OWS = *( SP / HTAB / "%20" / "%09" ) ; "optional" whitespace

1036

668

Rule BWS now explicitly defined

BWS = OWS*( SP / HTAB / "%20" / "%09" ) ; "bad" whitespace

1125

633

Typo unintentionally excluded %70 to %7f

pct-encoded-unescaped = "%" ( "0" / "1" / "3" / "4" / "6" / "7" / "8" / "9" / A-to-F ) HEXDIG

 

6      ABNF Test Cases

Line

Issue

Comment

67

668

Copied overview text from file header to XML comment below document root

<!--

 

  This document contains positive and negative test cases for the

  OData ABNF Construction Rules Version 4.0.

  Positive test cases consist of the rule to test, the input string to parse,

  and a description of the test case, often starting with a section number

  referring to OData Version 4.0 Part 2: URL Conventions.

  Negative test cases in addition state the character position at which the

  invalid portion of input text starts, 0 meaning the whole input string.

 

  These test cases can be automatically executed with the ABNF test tool

  available at https://github.com/SAP/abnf-test-tool.

  This tool is neither required for interpreting the test cases, nor is it

  part of the OData work product.

 

-->

73

668

Removed TODO comment

<!-- TODO: remove constraints that were only needed for data aggregation -->

255

668

Added new primitiveNonKeyProperty value

<Match>State</Match>

260

668

Added new primitiveNonKeyProperty value

<Match>ZipCode</Match>

361

567

Hour value 22

<Input>2012-09-03T0822:09:02Z</Input>

932

569

Test cases for bound complex collection function with cast segment

<TestCase Name="4.5.2 Call bound complex collection function with cast"

Rule="odataRelativeUri">

<Input>Customers/Model.MostPopularAddresses()/Model.AddressWithLocation</Input>

</TestCase>

<TestCase Name="4.5.2 Call bound complex collection function with cast"

Rule="odataRelativeUri">

<Input>Customers/Model.MostPopularAddresses()/Model.AddressWithLocation/$count</Input>

</TestCase>

1085

604

Test case for $expand with complex type cast

<TestCase Name="4.9 Inheritance - $expand on complex resource"

Rule="odataRelativeUri">

<Input>TheMostPopularAddresses()?$expand=Model.AddressWithLocation/Country</Input>

</TestCase>

1176

723

Test case for function bound to stream property

<TestCase Name="5.1.1 Filter - member expressions - stream"

Rule="firstMemberExpr">

<Input>Thumbnail/Model.Available()</Input>

</TestCase>

1217

668

Test case for comparing complex times

<TestCase Name="5.1.1.1.1 comparing complex types"

Rule="filter">

  <Input>$filter=Address eq {"Street":"NE 40th","City":"Redmond","State":"WA","ZipCode":"98052"}</Input>

</TestCase>

1692

590

Negative test case for $levels with leading zeroes

<TestCase Name="5.1.2 Expand - levels without leading zeroes"

Rule="expand"

FailAt="25">

  <Input>$expand=Category($levels=04)</Input>

</TestCase>

1720

604

Test case for $select with complex type cast

<TestCase Name="5.1.3 Select on complex resource - with cast and property of sub-type"

Rule="select">

  <Input>$select=Model.AddressWithLocation/Location</Input>

</TestCase>

2046

668

Added test case for $filter with geometry literals

<TestCase Name="$filter with geometry"

Rule="filter">

  <Input>$filter=geo.intersects(geometry'SRID=0;Point(142.1 64.1)',geometry'SRID=0;Polygon((1 1,1 1),(1 1,2 2,3 3,1 1))')</Input>

</TestCase>

2487

668

Added test case for wait with unnecessary whitespace

<TestCase Name="Preferences - wait with bad whitespace"

Rule="preference">

  <Input>wait = 0</Input>

</TestCase>

2487

633

Test case for percent-encoded hex pairs starting with 7

<TestCase Name="ODATA-633 hex pair bug"

Rule="stringInJSON">

  <Input>"b%75g"</Input>

</TestCase>

 

7      XSD Schema: edm

Line

Issue

Comment

183

544

Added Annotation to TActionFunctionReturnType

  <xs:complexType name="TActionFunctionReturnType">

    <xs:sequence>

      <xs:element ref="edm:Annotation" minOccurs="0"

         maxOccurs="unbounded" />

    </xs:sequence>

    <xs:attribute name="Type" type="edm:TTypeName" use="required" />

    <xs:attribute name="Nullable" type="xs:boolean" use="optional" />

    <xs:attributeGroup ref="edm:TFacetAttributes" />

  </xs:complexType>

734

544

Added ReturnType to list of values for TAppliesTo

  <xs:enumeration value="ReturnType" />

8      EDMX Schema: MetadataService

Line

Issue

Comment

283

641

Added property IncludeInServiceDocument

<Property Name="IncludeInServiceDocument" Type="Edm.Boolean" Nullable="false" />

297

640

Removed property Annotations

<Property Name="Annotations" Type="Collection(Edm.Metadata.InlineAnnotation)" />

 

Appendix A. Acknowledgments

The contributions of the OASIS OData Technical Committee members, enumerated in  [OData-Protocol], are gratefully acknowledged.

Appendix B. Revision History

Revision

Date

Editor

Changes Made

WD01

2014-05-16

Michael Pizzo

Ralf Handl

Martin Zurmuehl

Hubert Heijkers

First version