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: RE: [odata] Agenda for OData TC meeting on 2017-07-06 - chat transcript


[13:41] Room information was updated by: Stefan Hagen
OASIS Open Data Protocol (OData) TC OData TC Weekly Meeting (Conference Call) #180
- Thursday, 06 July 2017, 08:00am to 10:00am PDT
  - i.e. 2017-07-06 17:00 to 19:00 CEST (UTC+2)
  - other timezone? Try eg.:
  - https://www.timeanddate.com/worldclock/meetingdetails.html?year=2017&month=7&day=6&hour=15&min=0&sec=0&p1=47&p2=69&p3=179
 
UsefulPlaces:
- Chat:
  - http://webconf.soaphub.org/conf/room/odatatc   # ... this place 
- ScreenShare and Voice:
  - https://sap.emea.pgiconnect.com/OData-TC/
 
Next Planned meetings (tentative):
- Thursday July 20, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43987
- Thursday August 03, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43989
- Thursday August 17, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43991
- Thursday August 31, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43993
- Thursday September 14, 2017 during 8-10 am PDT?
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43995
 
Agenda-Draft E-Mail URL:
- E-Mail Public URL = "" href="https://lists.oasis-open.org/archives/odata/201707/msg00008.html" target="_blank">https://lists.oasis-open.org/archives/odata/201707/msg00008.html
 
Minutes Draft Public URL (previous meeting):
- URL = "" href="https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html" target="_blank">https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html
 
Online document walkthroughs or presentations:
- URL = "" href="https://sap.emea.pgiconnect.com/OData-TC/" target="_blank">https://sap.emea.pgiconnect.com/OData-TC/
 
Timeline:
- URL = "" href="https://www.oasis-open.org/committees/download.php/59862/TC%20Timeline-2017-01-25.docx" target="_blank">https://www.oasis-open.org/committees/download.php/59862/TC%20Timeline-2017-01-25.docx
 
Agenda Draft (for meeting #179):
==============================================================
1.  Roll call
  1.1 Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985
2.  Approve agenda
3.  Approve minutes from previous meeting(s)
  3.1 Minutes from June 29, 2017 TC meeting: https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html
4. Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php]
  4.1 Action items due
    None
5.           Version 4.01 Public Review
  5.1      05 July 2017 to 03 August 2017
6.           Issues [8:20 am PT]
  6.1      Vocabularies: NEW or OPEN
    6.1.1   ODATA-1085 Decide how to use V4.01 features in OASIS vocabularies
    6.1.2   ODATA-958 Capabilities: FilterRestrictions and SortRestrictions for navigation properties
    6.1.3   ODATA-1089 Org.OData.Aggregation.V1 missing Nullable="false" for Function ReturnType
    6.1.4   ODATA-1086 AppliesTo semantics are not normative
    6.1.5   ODATA-1082 Add term Constraint to Validation vocabulary
    6.1.6   ODATA-1079 Several issues with latest standard vocabularies
    6.1.7   ODATA-1069 New term Capabiliies.OperationAvailable
    6.1.8   ODATA-1067 Consider ability to define computed default values
    6.1.9   ODATA-1064 Add ability to annotate collections to return only count and NextLink
    6.1.10  ODATA-1055 DeepInsertSupport: allow applying to entity sets
    6.1.11  ODATA-1005 Make sure we have capabilities for all new 4.01 functionality
    6.1.12  ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
7.  Data Aggregation
  7.1  Gerald to walk us through the proposal on
    7.1.1  Grid-Like Access to Aggregated Data.docx
8. Next meetings  only bi-weekly during Summer vacation period?
  8.1  Thursday July 20, 2017 during 8-10 am PDT?
  8.2  Thursday August 03, 2017 during 8-10 am PDT?
  8.3  Thursday August 17, 2017 during 8-10 am PDT?
  8.4  Thursday August 31, 2017 during 8-10 am PDT?
  8.5  Thursday September 14, 2017 during 8-10 am PDT?
9. AOB and wrap up
==============================================================
 
Meeting Member URL:
- URL = "" href="https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985" target="_blank">https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985
  - Please use starting approx. 15 minutes before the meeting for self registration. Thanks.
  - Self registration deep link (as a service):
    - https://www.oasis-open.org/apps/org/workgroup/odata/record_my_attendance.php?event_id=43985&confirmed=1
Room Information:
OASIS Open Data Protocol (OData) TC OData TC Weekly Meeting (Conference Call) #180
- Thursday, 06 July 2017, 08:00am to 10:00am PDT
  - i.e. 2017-07-06 17:00 to 19:00 CEST (UTC+2)
  - other timezone? Try eg.:
  - https://www.timeanddate.com/worldclock/meetingdetails.html?year=2017&month=7&day=6&hour=15&min=0&sec=0&p1=47&p2=69&p3=179
 
UsefulPlaces:
- Chat:
  - http://webconf.soaphub.org/conf/room/odatatc   # ... this place 
- ScreenShare and Voice:
  - https://sap.emea.pgiconnect.com/OData-TC/
 
Next Planned meetings (tentative):
- Thursday July 20, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43987
- Thursday August 03, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43989
- Thursday August 17, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43991
- Thursday August 31, 2017 during 8-10 am PDT (17:00-19:00 CEST)
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43993
- Thursday September 14, 2017 during 8-10 am PDT?
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43995
 
Agenda-Draft E-Mail URL:
- E-Mail Public URL = "" href="https://lists.oasis-open.org/archives/odata/201707/msg00008.html" target="_blank">https://lists.oasis-open.org/archives/odata/201707/msg00008.html
 
Minutes Draft Public URL (previous meeting):
- URL = "" href="https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html" target="_blank">https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html
 
Online document walkthroughs or presentations:
- URL = "" href="https://sap.emea.pgiconnect.com/OData-TC/" target="_blank">https://sap.emea.pgiconnect.com/OData-TC/
 
Timeline:
- URL = "" href="https://www.oasis-open.org/committees/download.php/59862/TC%20Timeline-2017-01-25.docx" target="_blank">https://www.oasis-open.org/committees/download.php/59862/TC%20Timeline-2017-01-25.docx
 
Agenda Draft (for meeting #179):
==============================================================
1.  Roll call
  1.1 Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985
2.  Approve agenda
3.  Approve minutes from previous meeting(s)
  3.1 Minutes from June 29, 2017 TC meeting: https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html
4. Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php]
  4.1 Action items due
    None
5.           Version 4.01 Public Review
  5.1      05 July 2017 to 03 August 2017
6.           Issues [8:20 am PT]
  6.1      Vocabularies: NEW or OPEN
    6.1.1   ODATA-1085 Decide how to use V4.01 features in OASIS vocabularies
    6.1.2   ODATA-958 Capabilities: FilterRestrictions and SortRestrictions for navigation properties
    6.1.3   ODATA-1089 Org.OData.Aggregation.V1 missing Nullable="false" for Function ReturnType
    6.1.4   ODATA-1086 AppliesTo semantics are not normative
    6.1.5   ODATA-1082 Add term Constraint to Validation vocabulary
    6.1.6   ODATA-1079 Several issues with latest standard vocabularies
    6.1.7   ODATA-1069 New term Capabiliies.OperationAvailable
    6.1.8   ODATA-1067 Consider ability to define computed default values
    6.1.9   ODATA-1064 Add ability to annotate collections to return only count and NextLink
    6.1.10  ODATA-1055 DeepInsertSupport: allow applying to entity sets
    6.1.11  ODATA-1005 Make sure we have capabilities for all new 4.01 functionality
    6.1.12  ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
7.  Data Aggregation
  7.1  Gerald to walk us through the proposal on
    7.1.1  Grid-Like Access to Aggregated Data.docx
8. Next meetings  only bi-weekly during Summer vacation period?
  8.1  Thursday July 20, 2017 during 8-10 am PDT?
  8.2  Thursday August 03, 2017 during 8-10 am PDT?
  8.3  Thursday August 17, 2017 during 8-10 am PDT?
  8.4  Thursday August 31, 2017 during 8-10 am PDT?
  8.5  Thursday September 14, 2017 during 8-10 am PDT?
9. AOB and wrap up
==============================================================
 
Meeting Member URL:
- URL = "" href="https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985" target="_blank">https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985
  - Please use starting approx. 15 minutes before the meeting for self registration. Thanks.
  - Self registration deep link (as a service):
    - https://www.oasis-open.org/apps/org/workgroup/odata/record_my_attendance.php?event_id=43985&confirmed=1
[16:58] Ralf Handl (SAP SE)2 morphed into Ralf Handl (SAP SE)

 

[17:01] Stefan Hagen: @RegInfo:{Voting Members: 5 of 12 (41%) (used for quorum calculation)}
[17:01] Stefan Hagen: @Martin: I will register you http://webconf.soaphub.org/conf/images/wink.gif

 

[17:01] Martin Zurmuehl (SAP SE): Thanks

 

[17:02] Stefan Hagen: Well someone was faster http://webconf.soaphub.org/conf/images/wink.gif
[17:02] Stefan Hagen: RegInfo:{Voting Members: 6 of 12 (50%) (used for quorum calculation)} - one to go for quorum ...

 

[17:03] Ralf Handl (SAP SE): Only two people in the telco so far: are there dial-in problems?
[17:04] Ralf Handl (SAP SE): Voting Members: 7 of 12 (58%) (used for quorum calculation)
[17:04] Ralf Handl (SAP SE): Achieved quorum: yes

 

[17:04] Michael Pizzo: I am in the telco, but don't seem to have the normal "call my phone" option available. Has something changed?

 

[17:04] Ralf Handl (SAP SE): Let me restart the telco

 

[17:04] Hubert Heijkers (IBM)1: Problems? When I got in it didn't give me any options, just a 'join' and 'cancel' button.

 

[17:04] Michael Pizzo: I don't see phones next to other people's names either...

 

[17:05] Hubert Heijkers (IBM)1: After I tried 'join' a number of times, I hit 'cancel' and with settings tried to connect my audio
[17:05] Hubert Heijkers (IBM)1: I expect you can't here me and noticed the phone icon just showed up

 

[17:05] Stefan Hagen: The dialogue was different from other times (when I was accepted) - no option to receive a call back

 

[17:05] Ralf Handl (SAP SE): Please try again now, seems to work better

 

[17:06] Stefan Hagen: Ah now the usual constructive question from the cons system. Thanks
[17:07] Stefan Hagen: ... but I will need a few minutes to be able to connect to audio.

 

[17:08] Ralf Handl (SAP SE): @Mike: does it work for you now?
[17:09] Ralf Handl (SAP SE): 2.Approve agenda [8:05 am PT]

 

[17:09] Michael Pizzo: (yes, I'm now in)

 

[17:10] Ralf Handl (SAP SE): 5.Version 4.01 Public Review - 05 July 2017 to 03 August 2017
a.Issues
i.ODATA-1090 Clarify text about referential constraint for navigation properties on complex types
ii.ODATA-1091 Special values of numeric types (public comment c201707e0002)
[17:10] Ralf Handl (SAP SE): Agenda is approved
[17:10] Ralf Handl (SAP SE): 3.Approve minutes from previous meeting(s) [8:10 am PT]
a.Minutes from June 29, 2017 TC meeting: https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html
[17:11] Ralf Handl (SAP SE): Thanks Stefan for registering last week's attendance!
[17:11] Ralf Handl (SAP SE): Minutes are approved

 

[17:11] Stefan Hagen: All welcome http://webconf.soaphub.org/conf/images/wink.gif

 

[17:12] Ralf Handl (SAP SE): 4.Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]
a.Action items due
i.None
[17:12] Ralf Handl (SAP SE): 5.Version 4.01 Public Review - 05 July 2017 to 03 August 2017
a.Issues
i.ODATA-1090 Clarify text about referential constraint for navigation properties on complex types
ii.ODATA-1091 Special values of numeric types (public comment c201707e0002)
[17:13] Ralf Handl (SAP SE): TC-Comments mailing list archive: https://lists.oasis-open.org/archives/odata-comment/
[17:15] Ralf Handl (SAP SE): Use "dependent instance" and point out that referential constraints can only be defined for properties "next" to the navigation property, i.e. paths in the Property attribute are resolved starting at the structured type declaring the navigation property.
[17:16] Ralf Handl (SAP SE): ODATA-1090 is OPEN

 

[17:16] Michael Pizzo: I move we resolve ODATA-1090 as proposed.

 

[17:16] Martin Zurmuehl (SAP SE): i second

 

[17:17] Ralf Handl (SAP SE): ODATA-1090 is RESOLVED as proposed
[17:17] Ralf Handl (SAP SE): ii.ODATA-1091 Special values of numeric types (public comment c201707e0002)
[17:17] Ralf Handl (SAP SE): Comment on: 4.01 Committee Specification Draft 02 / Public Review Draft 02 
 
One of the new provisions in 4.01 is: 
 
All numeric types allow the special numeric values INF, INF, and NaN 
 
This feels onerous given typical technologies for storing integer numeric types. The ABNF for values of Int16, for example, now reads: 
 
int16Value = [ SIGN ] 1*5DIGIT / nanInfinity ; numbers in the range from -32768 to 32767 
 
Clearly this now requires MORE than 16 bits to store. 
 
Given that the numeric integer types are typically used as keys for entities there are some odd implications too. Clearly the definitions of INF and -INF can still work as they compare equal to themselves and top/tail the value range when ordering. I'm more concerned about NaN which doesn't compare equal to itself, this is likely to cause issues if it is used as the value of an entity key. (I believe PostgreSQL allows these values as keys but treats Nan == Nan as true and Nan > x as true for all x != Nan, this goes against IEEE but seems necessary if they are to be used in context where ordering is required.) 
 
To use XML schema vocab, it feels like the abstract values and lexical representations have become muddled. The desire to use special values in JSON representations of integers has serious implications for the abstract value space. 
 
The 'special' values INF, -INF and NaN are actually values in the abstract value spaces of Single and Double types (as per IEEE, extendable to Decimal). They are not universal special (numeric) values with a status similar to 'null'. It feels like the language of the specification is sliding toward treating all of these in a similar way. Witness the definition of equals in Part 2 5.1.1.1.1 
 
Each of the special values null -INF, and INF is equal to itself, and only to itself. 
The special value NaN is not equal to anything, even to itself. 
 
You might find this SO answer in relation to C++ interesting: https://stackoverflow.com/questions/38795544/is-casting-of-infinity-to-integer-undefined I particularly like the parenthetical comment... 
 
truncation of infinity is still infinity, and infinity cannot be represented in int (I hope there's no question about this part) 
  
There's a serious point to this quote though. W.r.t. https://issues.oasis-open.org/browse/ODATA-785 I reject point (2) in the working proposal (add +inf/-inf/nan to int) for this reason. 
 
My proposal is to clarify that the 'special' numeric values are values of type Single, Double or Decimal only. You already have sufficient type promotion to resolve any ambiguity when parsing the literals. For example, the less contentious promotion of the constant parsed from the string "42" to any of the numeric types is already accepted without the special modifiers used in OData 2/3. 
 
The second part of my proposal is that if the abstract result of an operation cannot be represented in the return type defined for that operation then the result should be the special value null. This would include the special case of integer division by zero (where 4.0 says the request fails) but also covers overflow of integers in other operations. I sense the panel dislikes failing requests so my proposal fixes that by silently carrying on - the alternative is to continue to raise an exception or put in some more general provision that says that an _expression_ that fails with a division by zero is treat as null (WITHOUT continuing the computation). The latter version has less of an impact on existing behaviour in 4.0 I guess so might be worth considering. 
 
The NULLIF pattern for treat division by 0 as null is fairly widespread though and it is more consistent with the definition of cast: 
 
5.1.1.10.1 
 
Numeric primitive types are cast to each other with appropriate rounding. The cast fails if the integer 
part doesn't fit into target type. 
... 
If the cast fails, the cast function returns null. 
 
As a follow-up point on your open issue: https://issues.oasis-open.org/browse/ODATA-919 
 
The idea of doing general type promotion to the largest integer type makes sense to me, if the result overflows Int64 then you'd get null (according to my proposal) which is freely castable to any of the integer types. 
 
But I propose that Single operations that overflow Single results should be promoted to Double in a similar way. The definition of cast will need to be modified to allow for the cast of a Double to Single with overflow resulting in INF (not a failed cast). The proposed difference between the way integers and floating point numbers behave in this respect is precisely because the latter can represent INF. 
 
Hope this helps. 
 
Steve Lay 
https://www.pyslet.org/
[17:19] Ralf Handl (SAP SE): ODATA-1091 is OPEN
[17:20] Ralf Handl (SAP SE): Proposal (extracted from comment):
 
1) Clarify that the 'special' numeric values are values of type Single, Double or Decimal only. You already have sufficient type promotion to resolve any ambiguity when parsing the literals. For example, the less contentious promotion of the constant parsed from the string "42" to any of the numeric types is already accepted without the special modifiers used in OData 2/3. 
 
2) If the abstract result of an operation cannot be represented in the return type defined for that operation then the result should be the special value null. This would include the special case of integer division by zero (where 4.0 says the request fails) but also covers overflow of integers in other operations.
[17:22] Ralf Handl (SAP SE): Mike: maybe distinguish between $filter and $compute
[17:23] Ralf Handl (SAP SE): Ralf: $compute should not fail e.g. due to division by zero
[17:25] Ralf Handl (SAP SE): Mike: what does SQL do?
[17:27] Ralf Handl (SAP SE): SQL Anywhere doesn't raise an error but returns no results

 

[17:27] Matt Borges (SAP): select * from Customers where ( ID / 0 ) is null
[17:28] Matt Borges (SAP): select * from Customers where ( ID / 0 ) is not null

 

[17:37] Ramesh Reddy (Redhat): Postgres says ERROR:  "division by zero"
[17:38] Ramesh Reddy (Redhat): same when the _expression_ is in the select clause

 

[17:38] Michael Pizzo: From stack overflow: Select dividend / nullif(divisor, 0)

 

[17:38] Ramesh Reddy (Redhat): most of the database vendors
[17:41] Ramesh Reddy (Redhat): SQLServer yes

 

[17:42] Matt Borges (SAP): HANA, SQLAnywhere, and UltraLite all support NULLIF

 

[17:42] Mark Biamonte (Progress): Oracle and DB2 support NULLIF

 

[17:44] anonymous morphed into George Ericson (Dell)

 

[17:45] Michael Pizzo: Question: Should we add a nullif operator to the current _expression_, or mandate it as part of the behavior of the existing div operator?
[17:47] Michael Pizzo: I would be concerned about changing behavior of an operation based on protocol version. We are adding a new division operator in 4.01. We could define the nullif behavior for the new operator without breaking compatibility.

 

[17:55] Ralf Handl (SAP SE): Proposal:
- no -INF, INF, NaN for integer types
- no -INF, INF for Date and DateTimeOffset
- keep -INF, INF, NaN for Decimal, Float, and Double
- divby returns null for division by zero
- div returns an error for division by zero

 

[17:57] Michael Pizzo: Since divby returns a decimal, should divby zero return NaN?

 

[17:57] Ralf Handl (SAP SE): Yes, should

 

[17:59] Michael Pizzo: Wording from 4.01 spec:
If the left operand is numeric, then positive div zero returns INF, negative div zero returns -INF, and zero div zero returns NaN. For 4.0 services this behavior is only required if the left operand is of type Edm.Single or Edm.Double, for all other types the request MAY fail.
[17:59] Michael Pizzo: In 4.0, we said that int div zero was an error.

 

[18:00] Ralf Handl (SAP SE): Wording from 4.0 spec:
The div operator divides the left numeric operand by the right numeric operand. If the right operand is zero and the left operand is neither of type Edm.Single nor Edm.Double, the request fails. If the left operand is of type Edm.Single or Edm.Double, then positive div zero returns INF, negative div zero returns -INF, and zero div zero returns NaN.
[18:01] Ralf Handl (SAP SE): We could treat Edm.Decimal(Scale=floating) similar to Double and Single
[18:01] Ralf Handl (SAP SE): It's new in V4.01 and is a DECFLOAT
[18:02] Ralf Handl (SAP SE): Only add -INF, INF, and NaN for Edm.Decimal(Scale=floating)

 

[18:05] Michael Pizzo: So proposal is to go back to 4.0 behavior for div 0 (integer fails, decimal, single, and double return INF, -INF, NaN as appropriate), but since divby promotes to decimal it makes sense for it not to fail for divby 0 even if left operand is integer.

 

[18:08] Ralf Handl (SAP SE): Postpone issue to next meeting, research whether to treat Edm.Decimal(Scale=floating) similar to Double and Single
[18:08] Ralf Handl (SAP SE): 6.Issues [8:20 am PT]
a.Vocabularies: NEW or OPEN
[18:09] Ralf Handl (SAP SE): i.ODATA-1085 Decide how to use V4.01 features in OASIS vocabularies
ii.ODATA-958 Capabilities: FilterRestrictions and SortRestrictions for navigation properties
[18:09] Ralf Handl (SAP SE): New proposal:
Add three new properties, FilterFunctions, FilterRestrictions, and SortRestrictions, to Capabilities.NavigationPropertyRestriction, such that the full definition becomes: 
 
<ComplexType Name="NavigationPropertyRestriction"> 
  <Property Type="Edm.NavigationPropertyPath" Name="NavigationProperty"> 
    <Annotation Term="Core.Description" String="Navigation properties can be navigated"/> 
  </Property> 
  <Property Type="Capabilities.NavigationType" Name="Navigability"> 
    <Annotation Term="Core.Description" String="Navigation properties can be navigated to this level"/> 
  </Property> 
  <Property Type="Collection(Edm.String)" Name="FilterFunctions"> 
    <Annotation Term="Core.Description" String="List of functions and operators supported in $filter. If null, all functions and operators may be attempted."/> 
  </Property> 
  <Property Type="Capabilities.FilterRestrictionsType" Name="FilterRestrictions"> 
    <Annotation Term="Core.Description" String="Restrictions on $filter expressions"/> 
  </Property> 
  <Property Type="Capabilities.SortRestrictionsType" Name="SortRestrictions"> 
    <Annotation Term="Core.Description" String="Restrictions on $orderby expressions"/> 
  </Property> 
</ComplexType>

 

[18:14] Michael Pizzo: Here are existing definitions of FilterRestrictionsType and SortRestrictionsType:
<Term AppliesTo="EntityContainer EntitySet" Type="Collection(Edm.String)" Name="FilterFunctions" Nullable="false">
<Annotation Term="Core.Description" String="List of functions and operators supported in $filter"/>
</Term>
<Term AppliesTo="EntitySet Collection" Type="Capabilities.FilterRestrictionsType" Name="FilterRestrictions">
<Annotation Term="Core.Description" String="Restrictions on $filter expressions"/>
</Term>
<ComplexType Name="FilterRestrictionsType">
<Property Type="Edm.Boolean" Name="Filterable" DefaultValue="true">
<Annotation Term="Core.Description" String="$filter is supported"/>
</Property>
<Property Type="Edm.Boolean" Name="RequiresFilter" DefaultValue="false">
<Annotation Term="Core.Description" String="$filter is required"/>
</Property>
<Property Type="Collection(Edm.PropertyPath)" Name="RequiredProperties" Nullable="false">
<Annotation Term="Core.Description" String="These properties must be specified in the $filter clause (properties of derived types are not allowed here)"/>
</Property>
<Property Type="Collection(Edm.AnyPropertyPath)" Name="NonFilterableProperties" Nullable="false">
<Annotation Term="Core.Description" String="These structural or navigation properties cannot be used in $filter expressions"/>
</Property>
<Property Type="Collection(Capabilities.FilterExpressionRestrictionType)" Name="FilterExpressionRestrictions" Nullable="false">
<Annotation Term="Core.Description" String="These properties only allow a subset of expressions"/>
</Property>
<Property Type="Edm.Int32" Name="MaxLevels" 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="FilterExpressionRestrictionType">
<Property Type="Edm.PropertyPath" Name="Property">
<Annotation Term="Core.Description" String="Path to the restricted property"/>
</Property>
<Property Type="Capabilities.FilterExpressionType" Name="AllowedExpressions">
<Annotation Term="Core.Description" String="Allowed subset of expressions"/>
</Property>
</ComplexType>
<TypeDefinition Name="FilterExpressionType" UnderlyingType="Edm.String">
<Annotation Term="Validation.AllowedValues">
<Collection>
<Record>
<PropertyValue String="SingleValue" Property="Value"/>
<Annotation Term="Core.Description" String="Property can be used in a single eq clause"/>
</Record>
<Record>
<PropertyValue String="MultiValue" Property="Value"/>
<Annotation Term="Core.Description" String="Property can be used in a single in clause"/>
</Record>
<Record>
<PropertyValue String="SingleRange" Property="Value"/>
<Annotation Term="Core.Description" String="Property can be used in at most one ge and/or one le clause, separated by and"/>
</Record>
<Record>
<PropertyValue String="SearchExpression" Property="Value"/>
<Annotation Term="Core.Description" String="String property can be used as first operand in startswith, endswith, and contains clauses"/>
</Record>
</Collection>
</Annotation>
</TypeDefinition>
<Term AppliesTo="EntitySet Collection" Type="Capabilities.SortRestrictionsType" Name="SortRestrictions">
<Annotation Term="Core.Description" String="Restrictions on $orderby expressions"/>
</Term>
<ComplexType Name="SortRestrictionsType">
<Property Type="Edm.Boolean" Name="Sortable" DefaultValue="true">
<Annotation Term="Core.Description" String="$orderby is supported"/>
</Property>
<Property Type="Collection(Edm.PropertyPath)" Name="AscendingOnlyProperties" Nullable="false">
<Annotation Term="Core.Description" String="These properties can only be used for sorting in Ascending order"/>
</Property>
<Property Type="Collection(Edm.PropertyPath)" Name="DescendingOnlyProperties" Nullable="false">
<Annotation Term="Core.Description" String="These properties can only be used for sorting in Descending order"/>
</Property>
<Property Type="Collection(Edm.AnyPropertyPath)" Name="NonSortableProperties" Nullable="false">
<Annotation Term="Core.Description" String="These structural or navigation properties cannot be used in $orderby expressions"/>
</Property>
</ComplexType>

 

[18:21] George Ericson (Dell): Dell Moves

 

[18:21] Hubert Heijkers (IBM)1: I second

 

[18:21] Martin Zurmuehl (SAP SE): I second

 

[18:22] Ralf Handl (SAP SE): ODATA-958 is RESOLVED as proposed
[18:22] Ralf Handl (SAP SE): i.ODATA-1085 Decide how to use V4.01 features in OASIS vocabularies

 

[18:23] Michael Pizzo: I move we defer ODATA-1085 and deal with compatibility issues on a case-by-case basis, as they come up.

 

[18:23] Martin Zurmuehl (SAP SE): I second

 

[18:24] Ralf Handl (SAP SE): ODATA-1085 is DEFERRED for now
[18:24] Ralf Handl (SAP SE): iii.ODATA-1089 Org.OData.Aggregation.V1 missing Nullable="false" for Function ReturnType
[18:25] Ralf Handl (SAP SE): ODATA-1089 is OPEN

 

[18:25] George Ericson (Dell): Dell Moves

 

[18:25] Stefan Hagen: I second

 

[18:26] Ralf Handl (SAP SE): ODATA-1089 is RESOLVED as proposed
[18:26] Ralf Handl (SAP SE): iv.ODATA-1086 AppliesTo semantics are not normative
[18:26] Ralf Handl (SAP SE): Description:
The term attribute AppliesTo is documented in section "14.1.2 Applicability" in a way that has been interpreted to mean that the AppliesTo values are merely recommendations. From a specification point of view, this renders the AppliesTo attribute having no semantic value. 
 
I expected that the intent is that AppliesTo values are normative restrictions, but that the set of values may be changed in future versions of the vocabulary.
[18:27] Ralf Handl (SAP SE): Proposal:
 
Modify 14.1.2 Applicability as follows: 
The AppliesTo attribute MAY be used to restrict a term to a list of model elements that the term may be applied to. If no list is supplied, the term is not intended to be restricted in its application. The list of elements may be extended in future versions of the vocabulary. As the intended usage may evolve over time, clients SHOULD be prepared for any term to be applied to any model element and SHOULD be prepared to handle unknown values within the AppliesTo attribute.
[18:34] Ralf Handl (SAP SE): ODATA-1086 is OPEN

 

[18:35] Michael Pizzo: I move to resolve ODATA-1086 as proposed.

 

[18:35] Martin Zurmuehl (SAP SE): I second

 

[18:35] Ralf Handl (SAP SE): ODATA-1086 is RESOLVED as proposed
[18:36] Ralf Handl (SAP SE): v.ODATA-1082 Add term Constraint to Validation vocabulary
[18:36] Ralf Handl (SAP SE): Proposal:
Add new term 
 
<Term Name="Constraint" 
           Type="Validation.ConstraintType" 
           AppliesTo="Property EntityType ComplexType"> 
    <Annotation Term="Core.Description" String="Condition that the annotation target has to fulfill" /> 
</Term> 
<ComplexType Name="ConstraintType"> 
    <Property Name="FailureMessage" Type="Edm.String" Nullable="true"> 
        <Annotation Term="Core.IsLanguageDependent" /> 
    </Property> 
    <Property Name="Condition" Type="Edm.Boolean"> 
        <Annotation Term="Core.Description" 
              String="Value MUST be a dynamic _expression_ that evaluates to true if and only if the constraint is fulfilled" /> 
    </Property> 
</ComplexType> 
 
Example: 
 
 <Annotation Term="Validation.Constraint" Qualifier="Comparison"> 
    <Record> 
        <PropertyValue Property="FailureMessage" String="Start date cannot be after end date" /> 
        <PropertyValue Property="Condition"> 
            <Le> 
                <Path>StartDate</Path> 
                <Path>EndDate</Path> 
            </Le> 
        </PropertyValue> 
    </Record> 
</Annotation>
[18:41] Ralf Handl (SAP SE): Mike: Condition should be Nullable="false"
[18:41] Ralf Handl (SAP SE): Definition of Qualifier: http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/csprd02/odata-csdl-xml-v4.01-csprd02.html#sec_Qualifier
[18:42] Ralf Handl (SAP SE): ODATA-1082 is OPEN

 

[18:46] George Ericson (Dell): Dell Moves as amended to include Nullable="False" on Constraint

 

[18:46] Mark Biamonte (Progress): I second

 

[18:46] Ralf Handl (SAP SE): ODATA-1082 is RESOLVED with the amended proposal

 

[18:47] George Ericson (Dell): George moved

 

[18:47] Ralf Handl (SAP SE): i.ODATA-1079 Several issues with latest standard vocabularies

 

[18:47] Stefan Hagen: @George: I generally replace any variation in chat motion text beginning into member: I move ... http://webconf.soaphub.org/conf/images/wink.gif

 

[18:48] Ralf Handl (SAP SE): Proposal:
Org.OData.Core.V1.xml 
 
      <ComplexType Name="AlternateKey"> 
        <Property Type="Collection(Core.PropertyRef)" Name="Key"> 
          <Annotation Term="Core.Description" String="The set of properties that make up this key" /> 
        </Property> 
      </ComplexType> 
 
  should have Nullable="false" in the Property 
 
Org.OData.Temporal.V1.xml 
 
  <Term Name="TemporalSupported" Type="Aggregation.TemporalSupportedType" AppliesTo="EntityContainer EntitySet NavigationProperty"> --> 
 
  should be: 
   
  <Term Name="TemporalSupported" Type="Temporal.TemporalSupportedType" AppliesTo="EntityContainer EntitySet NavigationProperty"> 
 
  8 references to Term="Core.Documentation" should be to Term="Core.Description" 
Activity
[18:49] Ralf Handl (SAP SE): ODATA-1079 is OPEN

 

[18:49] Michael Pizzo: I move we resolve ODATA-1079 as proposed

 

[18:49] George Ericson (Dell): George Seconds

 

[18:49] Hubert Heijkers (IBM)1: I second

 

[18:49] Martin Zurmuehl (SAP SE): i second

 

[18:49] Stefan Hagen: I fourth

 

[18:49] Ralf Handl (SAP SE): ODATA-1079 is RESOLVED as proposed

 

[18:50] Stefan Hagen: Time check

 

[18:50] Ralf Handl (SAP SE): vii.ODATA-1069 New term Capabiliies.OperationAvailable
[18:50] Ralf Handl (SAP SE): Proposal
 
      <Term Name="OperationAvailable" Type="Edm.Boolean" DefaultValue="true" AppliesTo="Action Function"> 
        <Annotation Term="Core.Description" String="Action or function is available" /> 
      </Term>
[18:55] Ralf Handl (SAP SE): Example:
 
<Annotation Term="Capabilties.OperationAvailable">
  <Ne>
    <Path>bindingParam/OrderStatus</Path>
    <String>SHIPPED</String>
  </Ne>
</Annotation>
[18:58] Ralf Handl (SAP SE): ODATA-1069 is OPEN
[18:58] Ralf Handl (SAP SE): 8.Next meetings  especially during Summer vacation period [9:50 am PT]
a.Thursday July 20, 2017 during 8-10 am PDT?
b.Thursday August 03, 2017 during 8-10 am PDT?
c.Thursday August 17, 2017 during 8-10 am PDT?
d.Thursday August 31, 2017 during 8-10 am PDT?
e.Thursday September 14, 2017 during 8-10 am PDT?
[18:59] Ralf Handl (SAP SE): f: next week, July 13, 2017?
[19:00] Ralf Handl (SAP SE): Doodle: https://beta.doodle.com/poll/nivcwiuanz3yf98m
[19:01] Ralf Handl (SAP SE): Next meeting: next week
[19:01] Ralf Handl (SAP SE): Meeting is adjourned

 

 

From: odata@lists.oasis-open.org [mailto:odata@lists.oasis-open.org] On Behalf Of Handl, Ralf
Sent: Dienstag, 4. Juli 2017 13:42
To: odata@lists.oasis-open.org
Subject: [odata] Agenda for OData TC meeting on 2017-07-06

 

Here [1] is a draft agenda for the OData TC (Technical Committee) meeting scheduled on Thursday July 06, 2017 during 8-10 am PDT (17:00-19:00 CEST). For additional information, such as dial-in details and chat room, refer to [2]. For TC timeline, see [3]. Feel free to suggest additions or modifications.

 

Thanks.

 

[1] Agenda

 

1.        Roll call [8:00 am PT]

a.     Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=43985

 

2.        Approve agenda [8:05 am PT]

 

3.        Approve minutes from previous meeting(s) [8:10 am PT]

a.     Minutes from June 29, 2017 TC meeting: https://www.oasis-open.org/committees/download.php/61109/odata-meeting-179_on-20170629-minutes.html

 

4.        Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]

a.     Action items due

                                  i.    None

 

5.        Version 4.01 Public Review

a.     05 July 2017 to 03 August 2017

 

6.        Issues [8:20 am PT]

a.     Vocabularies: NEW or OPEN

                                  i.    ODATA-1085 Decide how to use V4.01 features in OASIS vocabularies

                                 ii.    ODATA-958 Capabilities: FilterRestrictions and SortRestrictions for navigation properties

                                iii.    ODATA-1089 Org.OData.Aggregation.V1 missing Nullable="false" for Function ReturnType

                                iv.    ODATA-1086 AppliesTo semantics are not normative

                                 v.    ODATA-1082 Add term Constraint to Validation vocabulary

                                vi.    ODATA-1079 Several issues with latest standard vocabularies

                               vii.    ODATA-1069 New term Capabiliies.OperationAvailable

                              viii.    ODATA-1067 Consider ability to define computed default values

                                ix.    ODATA-1064 Add ability to annotate collections to return only count and NextLink

                                 x.    ODATA-1055 DeepInsertSupport: allow applying to entity sets

                                xi.    ODATA-1005 Make sure we have capabilities for all new 4.01 functionality

                               xii.    ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)

 

7.        Data Aggregation

a.     Gerald to walk us through the proposal on

                                  i.    Grid-Like Access to Aggregated Data.docx

 

8.        Next meetings – especially during Summer vacation period [9:50 am PT]

a.     Thursday July 20, 2017 during 8-10 am PDT?

b.     Thursday August 03, 2017 during 8-10 am PDT?

c.     Thursday August 17, 2017 during 8-10 am PDT?

d.     Thursday August 31, 2017 during 8-10 am PDT?

e.     Thursday September 14, 2017 during 8-10 am PDT?

 

9.        AOB and wrap up [9:55 am PT]

 

[2] References

·         Conference call details: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/56760/TC%20meeting%20dial-in%20details.htm

·         Chat room: http://webconf.soaphub.org/conf/room/odatatc

 

[3] Timeline

·         https://www.oasis-open.org/committees/download.php/59862/TC%20Timeline-2017-01-25.docx

 

 

 



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