Subject RE: Jaybird - Class 2 gds impl
Author Ryan Baldwin
Hi

I've posted this to both firebird-java and firebird-devel. I will post
subsiquent mails regarding this to firebird-java only. I've uploaded two new
files to http://groups.yahoo.com/group/Firebird-Java. These are:

class2drv_src_0_2.zip
class2drv_bin_0_2.zip

These jaybird modifications that allow it to work as a class 2 driver. I
have fixed many serious bugs and completed the GDS_Impl in the ngds package
since the 0_1 version and it now passes 100% of tests from packages:

org.firebirdsql.jdbc
org.firebirdsql.jca
org.firebirdsql.managements

There is still some cleaning up to do - I need to take a good look at
threading issues - currently the GDS_Impl class has all methods synchronized
on the objects monitor. But its getting there !

To try it out in an app that uses the uses the type4 driver should(see
bellow for exceptions) be easy. Heres how:

1) Download class2drv_bin_0_2.zip.
2) Extract java_gds.dll into your c:\winnt\System32 directory.
3) Ensure you have a suitable GDS32.dll in your System32 dir.
4) Replace firebirdsql.jar on your CLASSPATH with firebirdsqln.jar from
class2drv_bin_0_2.zip Make sure you have only firebirdsqln.jar and not
firebirdsql.jar as well.
5) Cross your fingers and give it a go.

firebirdsqln.jar was built from CVS as checked out only a few days ago -
after including my mods.

It should be possible to run it against the fbembed.dll by renaiming it(You
would have to modify your connection url though) - I havent tested it at all
yet though.

You might encounter a problem with the connection url - It works for the
junit tests but not for my app - which works ok with type4 driver - so
although the 'correct' url form should work OK it doesent accept some 'less
correct' forms that the type4 driver does IFAIK - I should be able to get
this fixed very soon though.

It would be helpfull for me at this stage if we could talk about if/how we
might put this code into the repositories - There were some sugestions a few
days ago - I've never contributed to an open source project and so am unsure
how things really get organised.

Thanks
Ryan