What kind of version checking should be done for applications using SQLDBC
This query is regarding the kind of version checking that an application should do.
Currently I am building my application in MaxDB version of 7.6.05.09, which is the community edition available on the sdn download site currently, this will change to the enterprise edition once we have finalized everything in terms of code and packging etc....
Now when the application is shipped to customer site, what kind of version checking should the application do to ensure that the version of library/kernel/client/sdk it has been built with is consistent with the one that is installed at the customer site.
From what i see SQLDBC exposes the following method for getting version related information.
char * SQLDBC_Environment_getLibraryVersion(SQLDBC_Environment* hdl);
SQLDBC_Int4 SQLDBC_Statement_getKernelVersion(SQLDBC_Statement* hdl); (Note: Wondering why should a handle to SQLDBC_Statement be needed to find the Kernel version)
Just to give you little more hint of what i am talking about, for MySQL database we use the functions
mysql_get_client_version and mysql_get_server_version and check that the values returned by these functions are less than the value which was used at build time.
FYI, SQLDBC guaranties binary compatability for higher versions. I.e. if you compile with 7.6, using SQLDBC 7.7 should work out of the box. Is this the issue you want to solve?
Doing the kernel version check as you mentioned sounds ok.