[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Adobe observations on parameterized query mechanism
I'm sorry that this feedback could not have been submitted pre-publication, but here it is anyway. I've asked one of my key developers to perform an in depth analysis of the differences between v2.5 and v3.0, and their implementation consequences to aid in my planning activities. The following section, I felt, is appropriate for distribution to the technical committee.
We feel that this "pruning" feature deserves some attention, and will likely vary our compliance to the specification in this instance in order to provide a more understandable behaviour to our API clients.
Parameterized Query Support (NEW):
AdhocQueries stored in the registry may include parameters. Parameters start with ‘$’ and may include the following characters [a-z] [A-Z] [0-9]. Parameters may not start with a numeric value. Once parameters have been added to the stored query it can then be invoked through an AdhocQueryRequest containing an AdhocQuery with the id of the stored AdhocQuery. The AdhocQuery element contains slots with values for each non-context parameter of the adhoc query. Context parameters are provided by the registry.
Current context parameters include:
- $currentUser: Id attribute of the current registry user.
- $currentTime: current system time.
Deviating from the Specification:
- The specification instructs Registry implementations to “prune” predicates of parameters which were not included in the AdhocQueryRequest. Instead the registry should return an UnsupportedOperationException when receiving a request to invoke a stored procedure without the correct number of parameters. An implementation of this “pruning” mechanism would be ambiguous and error prone. It is very difficult to determine exactly which sections of a filter query should be pruned. It could also make developing applications against the registry more difficult to debug. If a developer forgets to add a parameter value the registry will silently trim the query and return results.
Extending Parameterized Query Support:
- Parameterized query supported could be extended to allow a client to submit default values for the parameters along with the parameterized query. This would allow similar behavior to the pruning defined in the spec but would require more explicit instructions from the client.