-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_CSD01
-
Fix Version/s: V4.0_CSD02
-
Component/s: ABNF, URL Conventions
-
Labels:None
-
Environment:
[Applied]
-
Proposal:
-
Resolution:
today the KEY function can be used to pass a reference to an existing entity as a parameter value. i.e.;
~foo(KEY(Customers('ALFKI')))
The name "KEY" is poor; really this is similar to the urlref annotation expression.
We want a way to pass relative to the root of the service or the "current" entity.
Option 1: rename "KEY" to "urlref" and constrain this to only take the canonical url of an entity for 4.0 (we can relax this in the future). url may be relative to the service if it starts with "/", otherwise it's relative to the "current" resource. only support as a function parameter (as today).
Option 2: Allow use of a first member expression rooted at current instance, or / for relative to root service. so
~foo(entity=$root/Customers('ALFKI'))
rooted at service always uses "/"
/Orders/ns.foo(entity=$root/Customers('ALFKI'))
/Orders/ns.foo(entity