Subject Re: [Firebird-Java] Building the libjaybird2.so on Linux
Author Roman Rokytskyy
> Ok, so JDBC type 4 driver, is pure Java.

Right.

> So InterClient was JDBC 3? I thought it was 2. Now I am confused? :)

Yes, InterClient was JDBC type 3 driver.

> Which type does libjaybird2.so belong to?

Type 2 driver.

But probably we have complicated things in 2.0 release even more. Jaybird
consists now of few parts:

- "kernel" - common code, the Java API and mechanism to load plugins
- "wire plugin" - thing that together with kernel can be called type 4 jdbc
driver
- "jni plugin" - thing that supports LOCAL, NATIVE and EMBEDDED types (can
be called type 2 jdbc driver)

now we already have (though part of the Fyracle):

- "fyracle plugin" - extension of "jni plugin" except that it loads
libfyracle.so
- "internal plugin" - extension of "jni plugin" for Java stored procedures

"kernel" discovers all available plugins in the classpath and builds
corresponding drivers. So, in fact, there is no separate jdbc type 2 and
jdbc type 4 drivers - those are simply plugins for the kernel. It is
possible to create another plugin that would act as type 3 driver and
provide, for example, secured and compressed wire protocol (and with some
intelligence even better network performance by reducing the number of
roundtrips).

Now about the packaging:

- jaybird-2.0.x.jar includes "kernel" and plugins for PURE_JAVA, LOCAL,
NATIVE and EMBEDDED types.
- jaybird-pool-2.0.x.jar contains only connection pool classes
- jaybird-full-2.0.x.jar - all of above + javax.sql.* classes

If you build Java code, both pure Java and JNI plugins are compiled
together. Now the only missing thing is libjaybird2.so.

Roman