|Subject||Re: [Firebird-Java] Building the libjaybird2.so on Linux|
> 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
- "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
- "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
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.