Rapid Database Application Development
|
||
Development |
"Microsoft Access for Linux"
|
|
FrontPage/KexiDBDesign/KexiDBDrivers KexiDB Drivers Handlingjstaniek, mar 2005 Driver loadingDrivers are loaded by KexiDB::DriverManager object. Kexi declares a single instance of it globally, which is available as Kexi::driverManager() global function, available in kexi.h. VersioningEach KexiDB driver implementation provide version info available in public via these methods: int KexiDB::Driver::versionMajor() int KexiDB::Driver::versionMinor() For any driver module, it's required to match major and minor version of the driver between KexiDB library and driver module. Necessary checks are implemented in KexiDB::DriverManager. Within Kexi GUI, if you provided incompatble drivers, following error could occur:
In such situation, driver loading failed, even if it would work if you were lucku. In worst case you could get a segfault, if minor versions are not compatible, because that means binary-incompatibility between two versions (even now, KexiDB API quite is still improving). On the other hand, if major versions are not compatible, you are in risk that KexiDB storage method (eg. kexi__* tables) has changed, what can lead to data loss, inconsistences or instability. Summing up, you should compile, install and distribute either kexidb/ directory and kexidb/drivers/ directory if the API or storage format has changed. Before compiling execute 'make clean' if you want to be sure. Notes
X-Kexi-KexiDBVersion=1.5
int KexiDB::Connection::versionMajor() int KexiDB::Connection::versionMinor() |
|||||
|