OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (ODATA-760) Add to depth restrictions to Capabilities Vocabulary


     [ https://issues.oasis-open.org/browse/ODATA-760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-760:
-----------------------------

    Environment: Proposed
       Proposal: 
Add MaxLevels property to FilterRestrictionsType, ExpandRestrictionsType, InsertRestrictionsType, UpdateRestrictionsType and DeleteRestrictionsType

<ComplexType Name="FilterRestrictionsType">
   ...
   <Property Name=MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
          of levels (including recursion) that can be traversed in a $filter 
          expression.  A value of -1 indicates there is no restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="ExpandRestrictionsType">
    ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
            of levels that can be can be expanded in a $expand expression. 
            A value of -1 indicates there is no restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="InsertRestrictionsType">
   ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
          of navigation properties that can be traversed when addressing 
          the collection to insert into. A value of -1 indicates there is no 
          restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="UpdateRestrictionsType">
   ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
          of naviagation properties that can be traversed when addressing 
          the collection or entity to update. A value of -1 indicates there is no 
          restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="DeleteRestrictionsType">
   ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
     <Annotation Term="Core.Description" String="The maximum number of 
          naviagation properties that can be traversed when addressing the 
          collection to delete from or the entity to delete. A value of -1 
          indicates there is no restriction"/>
   </Property>
</ComplexType>


  was:
Add MaxLevels property to FilterRestrictionsType, ExpandRestrictionsType, InsertRestrictionsType, UpdateRestrictionsType and DeleteRestrictionsType

<ComplexType Name="FilterRestrictionsType">
   ...
   <Property Name=MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
          of levels (including recursion) that can be traversed in a $filter 
          expression.  A value of -1 indicates there is no restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="ExpandRestrictionsType">
    ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
            of levels that can be can be expanded in a $expand expression. 
            A value of -1 indicates there is no restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="InsertRestrictionsType">
   ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
          of naviagation properties that can be traversed when addressing 
          the collection to insert into. A value of -1 indicates there is no 
          restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="UpdateRestrictionsType">
   ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
      <Annotation Term="Core.Description" String="The maximum number 
          of naviagation properties that can be traversed when addressing 
          the collection or entity to update. A value of -1 indicates there is no 
          restriction"/>
   </Property>
</ComplexType>

<ComplexType Name="DeleteRestrictionsType">
   ...
   <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
     <Annotation Term="Core.Description" String="The maximum number of 
          naviagation properties that can be traversed when addressing the 
          collection to delete from or the entity to delete. A value of -1 
          indicates there is no restriction"/>
   </Property>
</ComplexType>



> Add to depth restrictions to Capabilities Vocabulary
> ----------------------------------------------------
>
>                 Key: ODATA-760
>                 URL: https://issues.oasis-open.org/browse/ODATA-760
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: Vocabularies
>    Affects Versions: V4.0_OS
>         Environment: Proposed
>            Reporter: Michael Pizzo
>            Assignee: Mark Biamonte
>            Priority: Minor
>              Labels: Extension
>             Fix For: V4.01_CSD02
>
>
> Services will likely have different limits in the number of levels of depth they support in queries.  For example:
> •	Filter on far navigation (e.g. Manager/Manager/Title eq ‘Director’ )
> •	Nested Any (e.g. Reports/any(Reports: Reports/any … )
> •	Deep expansion 1:M  (e.g. $expand=Reports, Reports/Reports)
> All those filters are syntactically correct, but create undue server-side load, so services are likely to impose limits on the number of levels of depth for such expressions.
> Is this something services should be able to report in Capabilities?



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]