|
gds32.dll (libgds.so) is supposed for backward compatibility. fbclient.dll (libfclient.so) is clearly Firebird-only client. Thus this ticket mention fbclient explicitly.
PS: My actual problem is to tell whether multithreaded synchronization is required during API calls or not, but IMHO, returning the real client version is the best way to solve it. libgds.so is symlink to libfbclient.so
gds32.dll is (as far as I remember) just file copy no idea how to achieve different API calls behaviour w/o changes in compatibility library creation PS. I do not remember why was it decided to keep reporting IB version numbers, may be you can find something in devel archive, pre-2005 I suppose It was decided so to allow IBX show administrative components in Delphi. AFAIK, it has no point now, as IBX changed services discovering method and then was replaced with FireDAC.
BTW, the library is not only copied, but binary patched as well. As far as I remember it had something to do at least with IBX as the service api and some components arround was availible with a minimum client version at least in delphi ide.
And this should stay as it is - but maybe new api should be created?
Many people still use IBX (i use it too in old continued projects) Perhaps v3 is the right time to drop this concern about truly legacy functionality and move forward as the differentiated product that Firebird is.
isc_* functions are intended to return the IB emulation version and I believe this should stay as is. We already tried to be "differentiated" in this regard but IBX users complained. If anyone needs the FB client version, we could created the necessary fb_* functions instead.
Ok, we can put fix for isc_get_client_major_version() off till Firebid version 7. But in meantime, isc_get_cient_minor_version() could return 20, 21, 25 and 30 for Firebird 2.0, 2.1, 2.5 and 3.0 respecitively. Summary result will be 6.20, 6.21, 6.25, 6.30 that will make the API useful and leave IBX unbroken.
|
Client version is 6.3
Suppose that's something 'as designed' to be compatible with old IB versions. Number 6 definitely came from open-sourced IB6.0.