- From: Matthew Kerwin <matthew@kerwin.net.au>
- Date: Sat, 12 Sep 2015 13:06:24 +1000
- To: Ning Dong <ning.dong@oracle.com>
- Cc: James M Snell <jasnell@gmail.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>, Phil Hunt <phil.hunt@oracle.com>
- Message-ID: <CACweHNC85_-QVpqEKWUoyq-n5neAXMqkyxD3dFCjLCAXPKDZ8Q@mail.gmail.com>
On 12/09/2015 9:14 AM, "Ning Dong" <ning.dong@oracle.com> wrote: > > I submitted two requests, and both of them are related to search. If we have the SEARCH verb, then we don't have this problem. > > For the case where client wants to execute an ad hoc query against a collection, [...] > We don't want to save the query definition though since it won't be useful. We really just want the server to use the query definition in the payload, execute query and return the result. > > A second use case is a query definition might be reused later, but we want the query to be executed when the query definition resource is created to save a server round trip. That is the return=query-result proposal. This use case is achievable with two requests: one to create the query definition resource, and another to execute the query. > > Thanks. > > Ning > The problem I'm having is that you're mixing things up strangely. The endpoint definition seems to be: POST here to store a procedure. On top of that you layer a preference for "also execute it and return the result." Ok, I can understand that, and maybe 'query-result' is different enough from 'representation' to make sense. But with 'transient' you seem to instead be saying: the endpoint definition is to store a query, and immediately execute it and return the result. On top of that you're layering a preference to not store the query? It seems quite convoluted, or at least not well engineered, and smells a bit like server-side caching of requests. If I'm reading it wrong, and it's actually the *same* endpoint (i.e. store the query, and maybe return an immediate result) then 'transient' isn't a preference, it's an instruction to alter the base behaviour of the endpoint -- an instruction which should be signalled, not with a preference, but with a mechanism like those I mentioned earlier. Cheers
Received on Saturday, 12 September 2015 03:06:52 UTC