MWA Software is pleased to announce that release 2.2.0 of IBX for Lazarus is now available for download from mwasoftware.co.uk/ibx. This is an important update to IBX and all users are recommended to upgrade to the new release. Please read the changelog before upgrade.
The main intent behind the release is to add support for the remaining Firebird 3 features (and some from earlier Firebird releases) that were not supported in release 2.1. This includes:
- Support for SQL Statements INSERT/UPDATE/DELETE…RETURNING. The first two cases are now able to update the current row for all TIBCustomDataset descendents including TIBTable, using data returned following a row insert or update.
- INSERT…RETURNING is used to provide support for Firebird “Identity” columns. For example, when used to provide auto-increment primary keys.
- Firebird “Packages” are now supported by TIBStoredProc and by the SQL Component Editors.
- Additional Firebird 3 properties are now supported by TIBDatabaseInfo and by the Services API components (e.g. TIBConfigService).
- Alternative Security Databases are now supported by the Services API Components.
- TIBExtract now supports DDL Grants and triggers on database objects.
- A new IBServices component to support online validation of a database (TIBOnlineValidationService).
- A major new example application (DBAdmin) is now included. This illustrates the use of IBX for Day-to-Day Database Administration tasks including User Management, Backup/Restore and Database Validation and Repair. It is also intended to provided a useable application that users may use directly or incorporate into their own toolsets. It also demonstrates User Management using Firebird 3 virtual tables and SQL statements. Note: this application also requires the standard Lazarus package MemDSLaz.
This release also incorporates recent bug fixes and includes a 33 page guide to the use of IBX for Firebird DBA activities.
IBX for Lazarus may be downloaded from: www.mwasoftware.co.uk/ibx
or by subversion from:
MWA Software’s Firebird Pascal Client API package (fbintf) release 1.0.2 is now available for download. The package has been updated to support Delphi Win32 (from Delphi 2010 onwards) in addition to the Free Pascal Compiler (3.0.0 onwards). The package is otherwise functionally identical to release 1.0.1.
The Firebird Pascal Client API package provides common Pascal language bindings to the Firebird API that are independent of the Firebird API version. Both legacy and Firebird 3 APIs are supported. The fbintf package provides the Firebird API in a format where all data types for SQL data, interface parameters and results are native Pascal types, including all parameter blocks and database information. The Pascal API is pitched at a similar level and purpose to the IBPP Firebird API provided to the C++ world. It is a required dependency for version 2 onwards of IBX for Lazarus, and is provided as both a standalone package and as part of IBX2.
The Firebird Pascal API is intended to be simple to use and to place the minimum burden on the API user when it comes to managing the Firebird client library and the various Pascal objects that are created to provide the API. It is implemented as reference counted COM interfaces which, for the API user, are as easy to use as other managed types such as AnsiStrings and dynamic arrays. The user only needs to worry about accessing and using the interface; disposing of interfaces is performed automatically whenever an interface goes out of scope. It is intended to be a full implementation of the Firebird API, including events, services, blobs and arrays.
It is distributed under the IDP Licence.
The package may be downloaded from https://www.mwasoftware.co.uk/fb-pascal-api
A comprehensive user manual fully describing the API is available from https://www.mwasoftware.co.uk/documentation
Tony announced new version, IBX for Lazarus 1.1 is now available from
See announcement in the 3rd party Lazarus forum for the change log.
Performance increased with 30-50% in some cases.
Many thanks to Gabor for pointing out the performance issues and for testing updates. This kicked me into cleaning up this part of the code and rationalising the way that IBX handles column names with spaces and special characters in them.
Lars (from Compas Pascal blog) talks about the usage of IBX with Firebird databases. Don’t forget to check the comments for interesting information about compatibility.
Jeff Overcash originally made it clear, that IBX doesn’t officially support Firebird, and he has no intention to implement it. Many point at IBObjects and now DBExpress for Firebird support, so why use IBX? Here’s a reason