Subject Re: [IB-Architect] RE: Architecture of interclient
Author Jim Starkey
At 12:43 AM 2/24/01 -0500, David Jencks wrote:
>"One thing in particular that I am wondering about is if the interserver
>part has any reason for existence. Why not write a JDBC driver in java
>that talks directly to Firebird core? I think this would involve
>translating the C client into java. I haven't however figured out just
>which files this c client consists of."

Although the wire protocol between the remote interface and server
is based on XDR, there is really not magic. XDR is used to map
simple ad hoc structures to cannonical write form and back. In
fact XDR is unnecessary and in some ways undesirable (details
upon request). Somebody would have to check the wire byte
order, but the Java DataOutputStream does everything necessary.

>Since it is just possible I may have time to pursue this project, I would
>appreciate some hints as to if and where the XDR protocol definition is and
>which files are involved. (I've figured out what most of interclient/server
>does, but firebird is a somewhat larger project...)

Dive in. Peal away the acretions of time and bad engineering and
you'll find it is really quite simple.

>On a separate thread, I am a bit confused by interclients insistence in the
>database metadata that catalog and schema have no meaning in firebird. I
>would think that catalog is more or less database, schema is more or less
>owner. If you use datasources, catalog could be the JNDI- registered name
>for a database rather than the file name. Any comments?

Yes. Take that approach and you get stuck with the job of
aggregating metadata from multiple databases.

Jim Starkey