[ZOOM] Possible new Connection properites - comments?

Alan Kent ajk at mds.rmit.edu.au
Wed May 19 03:14:33 CEST 2004

On Tue, May 18, 2004 at 11:46:50AM +0100, Robert Sanderson wrote:
> > Case 1: Explaining servers using ZeeRex
> Apart from the connection options, what else could be set automatically?

Its not other ZOOM options, but rather information about how to translate
CQL or CCL into an RPN query for that Z39.50 target. If you only support
PQN, then there is no issue. If you want to support CQL or CCL, you need
to know the index names (to reference from CQL/CCL) and the attribute lists
(to include in the RPN) supported by the database. (I thought this was
a major goal of ZeeRex in the first place.)

> My own clients/servers use ZeeRex as configuration, and I do see the 
> attraction, but I don't think that it's low enough level to be Zoomy.
> I wouldn't object if others think that it is Zoomy though. :)

Where then do you do CQL to RPN translations? Or do you do CQL to PQN
in a higher level API, then use ZOOM to talk PQN to a server via ZOOM?

One option is not to support CQL in ZOOM and let a higher level API
convert to PQN which does not need any additional details about a server.

> > Case 2: Explaining servers using classic Explain
> > 
> > I know not many people support Explain-classic, but we do. So what
> > So I was thinking of having a boolean option which a client can set
> > if they want to try doing Explain queries (default is not to try).
> I think the same as above applies, but in spades... you already know the 
> host/port and probably the name of your intended database.  Everything 
> else is an option that can be set by some agent, rather than a setting
> that needs to be made.

Not sure what exactly you mean here. What 'agent' are you referring to?
I was going to send an Explain query automatically to a server and see
how it responds. The problem is *some* Z39.50 servers out there seem
to lock up and not even respond if they do not understand what you send
them. (Maybe this is a bad case to design for. Hopefully most would
just fail the query or return zero matches. But even then, should every
new connection made to a server incur the overhead of an Explain query by
default to work out how if Explain is supported?)

Note: if you don't support CQL or CCL, its not a problem. Its getting
a dynamic list of index names supported by a server that I was trying
to work out how to get nicely. Suggestions welcome!

(Also note: I can always add in my own private options, but was wondering
if this area was worth standardising.)


More information about the ZOOM mailing list