[Kexi-devel] Firebird Driver - Stutus Report

Gianni Rossi nasus.maximos at gmail.com
Wed Oct 19 21:18:03 CEST 2005


I've almost finished the first 0.0.1pre-alpha (meaning, i tried to compiled 
but it didn't work!).

Basically, I've retro-fitted all the code I had from other classes into the 
KexiDB::driver, KexiDB::Connection and KexiDB::cursor

The "external" files/classes remaining are:

- fbclientlib: class that does the actual calls to the firebird or interbase 
library.  It tries to find the library and loads it dynamically (i.e. 
dlopen() / LoadLibrary() ).  This enables it to load either the fbembeded 
library or the "normal" fbclient library, as well as interbase's gds32 
library.  If it manages to find a fbembed library, it will support direct 
file-access as well as server acess to FB1.5.X, FB1.0.X, Interbase 6.X  I 
haven't tested with other versions.  This class implements all the low-level 
API calls as virtual-QT-friendly functions, since API changes are expected in 
the near futre, it should just be a matter of overriding a few functions, and 
the library should be backwards and forward compatible by just checking the 
version-info returned by fb's library and loading the corresponding class.

- fbXSQLDA: class that handles fb's "extended SQL descriptor" which is 
basically results' columns and input SQL parameters.  This class extracts the 
data from the result-set.  From what I've seen, MySQL and SQLite returns data 
as strings?  The XSQLDA returns data in severall formats.

- fbblob: class to handle the special case XSQLDA; blobs... :-)

- fbtypes: Old type defenitions... should be gone soon.

The only "big" things left are:
- parsing the fbkeywords.y file (I've no idea how to do this)
- get it to compile
- test!


Any ideas? thoughts? comments?
-- 

IM talk.google.com: nasus.maximos at gmail.com


More information about the Kexi-devel mailing list