Subject RE: [Firebird-Java] Type 2 Driver progress
Author Ryan Baldwin
Hi,

I have fixed problem with solaris/sparc and this has now been built and
tested on win32 and solaris/sparc. Linux may well work straight off - and
other platforms should be fairly easy to support through.

I guess what I should do next is sort out the URL's. This will then make it
usable for the embedded server.

Would people be happy with the following urls ?

Type 4 Remote - jdbc:firebirdsql:localhost/3050:/dir1/subdir/usersdb.gdb
Type 2 Remote -
jdbc:firebirdsql:native:localhost/3050:/dir1/subdir/usersdb.gdb
Type 2 Local - jdbc:firebirdsql:native:/dir1/subdir/usersdb.gdb
Type 2 Embeded - jdbc:firebirdsql:embedded:/dir1/subdir/usersdb.gdb

I'm not sure if leaving out the host and port for local connections is
desirable/possible. I can see that it would make the parser more
complicated. Would these still be valid JDBC URL's ?

For the Type 2 local connections ngds will need to apply more restrictive
synchronization for this to work until XNET is available. Hopefully it will
then be possible to make the driver transparently detect the client library
version and apply thread synchronization as appropriate.

Thanks
Ryan



-----Original Message-----
From: Ryan Baldwin [mailto:ryan.baldwin@nexusalpha.com]
Sent: 14 July 2003 18:49
To: Firebird-Java@yahoogroups.com
Subject: [Firebird-Java] Type 2 Driver progress


Hi,

I figured it might be a good point to fill you in on the progress of the
type 2 driver modifications.

A file build_native.xml and modifications to build.xml have been added to
provide a target called
'compile-native' that should compile the native library for win32(msvc),
solaris(gcc) and linux(gcc) although
I have not tested the linux build. It may be possible to support other
platforms like freebsd and osx with
just a few tweaks in build_native.xml.

I can quite easily test win32, solaris sparc and freebsd as I have these
platforms at hand but will not be able
to try linux in the near future or osx.

This target will build the native library to output/native. For this to work
either the JAVA_HOME environment
variable needs to be set or the java_home ant property needs to be set to
point at the root of the JDK.

I have named the native library 'jaybird' eg 'jaybird.dll' or
'libjaybird.so'. It wont be difficult to change
this at the moment if another name is required.

I have added a new package in with the tests called 'ngds' containing
TestNgds. This test will only be run
if the 'compile-native' target has been run and sucseeded. For this test to
run correctly the VM will need
to be able to load the jaybird native library and the interbase client
library so the PATH or LD_LIBRARY_PATH
will need to be set correctly.

Although the native library builds on solaris/sparc at least one of the
tests in TestNgds fails. I plan to try
and fix this today.

After this the main things to do will be:

1) Modify the main tests to test both type 2 and type 4 modes.

2) Complete support for local connections and the embeded server.

So I will then move on to do these.

For '2' the forms of the url's for the different types of connections will
need to be decided on. There are four connection types that I can see

Type 4 Remote -
jdbc:firebirdsql:localhost/3050:/dir1/subdir/usersdb.gdb
Type 2 Remote - ???
jdbc:firebirdsql:native:localhost/3050:/dir1/subdir/usersdb.gdb
Type 2 Local - ???
jdbc:firebirdsql:native:/dir1/subdir/usersdb.gdb
Type 2 Embeded - ???
jdbc:firebirdsql:embeded:/dir1/subdir/usersdb.gdb

Thanks
Ryan