I agree with Ralph over the surrogate diagnostics. I can see Ray's point
that at present we are returning an unordered set of results so missing
records could just be ignored (i.e. regarded as always being deferred to
the next set of records returned). However, if/when we introduced
sorting (which could be done via an addition to CQL rather than a new
operation), I think they become more important. 

I'm not so sure about three statuses though. I can see why this would
appeal to someone steeped in Z39.50 as we are combining a number of
traditional Z39.50 operations. However, anyone coming to SRW through
other WebServices (e.g. Google) will see the SRW operation as single
operation and three status would be confusing.

Also I would think that a failure response in one of these statuses
would effectively negate the other two.

E.g. a failure of the search would also imply failure of the resultset
and present, failure of the resultset would also imply failure of the
present etc. So at best we would only need one status with a number of

Search failed
Present failed
ResultSet failed...

But my view here is that we can simplify this by having a success/failed
status and indicating the reason (search failed, present failed - or
something a little more meaningful for those not steeped in Z39.50 - or
whatever). I'm not sure either way about the need for the partial
success value.


> -----Original Message-----
> From: LeVan,Ralph [mailto:[log in to unmask]] 
> Sent: 10 June 2002 23:51
> To: [log in to unmask]
> Subject: Re: SRW Statuses
> I like the idea of the three statuses: search, result set and 
> present.  In fact, the result set info could be in the 
> statuses part of the response.
> I also like surrogate diagnostics.  There are many reasons 
> why a record can't be returned and often the client/user does 
> care what that reason was.
> Ralph
> -----Original Message-----
> From: Ray Denenberg [mailto:[log in to unmask]]
> Sent: Monday, June 10, 2002 5:19 PM
> To: [log in to unmask]
> Subject: SRW Statuses
> Just looking at the response schema at 
> and must admit I 
> haven't looked at it closely for
> awhile.
> I think the status part needs work.
> First: there is a single status, whose values are
> : "0 - success 1 - partial success (some surrogate
> diagnostics present in records structure) 2 -
> failure"; similar to the Z39.50 present status.
> There's no search status or result set status.
> Remember that the srw service  (loosely) models
> the Z39.50 Search with piggyback response.  That
> has a search status, result set status, and
> present status.
> Second: couldn't we dispose of the surrogate
> diagnostic for srw?  How about an element that
> accompanies a record, telling which result set
> record it is. Then if you get records 1, 3,4,5 you
> know that 2 couldn't be returned, for some reason.
> Do we need to bother with the reason? And that's
> only for a persistent result set anyway;  much of
> the time the queries are going to be re-executed
> in which case the surrogate diagnostic isn't very
> meaningful.
> Could we do away with the status(es) altogether,
> and just send diagnostics?
> --Ray