mwasoftware.co.uk

MWA Software is pleased to announce the release of version 2.4.0 of IBX for Lazarus. This version supports the new Firebird 4 data types and has been tested with the latest version of lazarus (2.0.12) and FPC (3.2.0). All users are recommended to upgrade to this version. It is available for download from

https://www.mwasoftware.co.uk/ibx

The new Firebird data types supported are: TIME WITH TIME ZONE, TIMESTAMP WITH TIME ZONE, INT128, DECFLOAT and extended precision NUMERIC fields. Due to recent changes to the Firebird 4 API, no version of Firebird 4 less than Firebird 4 rc1 is supported.

See the updated user guide for more information on how to use these new data types.

A major addition to IBX 2.4.0 for lazarus is the inclusion of a comprehensive testsuite. This is not included in the distribution archives, but can be downloaded from our svn repository (https://www.mwasoftware.co.uk/svn-repository).

The testsuite is intended to provide a set of tests with a pass/fail result determined by a simple inspection of the "diff" file. It uses the same approach as the existing testsuite for the Firebird Pascal API, also bundled in with IBX for Lazarus.

The testsuite comprises 28 separate tests, testing 230 identified features present in the IBX non-visual components. It is intended to provide comprehensive test coverage of all test features in order to demonstrate a high degree of confidence that the software performs as expected and when run on different platforms (32 bit and 64 bit, Linux and Windows) and with different versions of the Firebird database (2.5, 3 and 4). It also supports regression testing. See doc/TestCoverage.pdf for a list of tests and test features and which test covers which test features. The file ibx/testsuite/readme.txt contains information on how to run the test suite.

Version 2.4.0 has been tested using the testsuite for Firebird 2.5.9, Firebird 3.0.5 and Firebird 4 rc1 in various combinations of 32-bit and 64-bit Linux and Windows platforms, and with recent versions of FPC.

MWA Software is pleased to announce that release 2.3.4 of IBX for Lazarus is now available for download from https://mwasoftware.co.uk/ibx.

This is the first update in over a year and provides a consolidated set of minor bug fixes. The changelog for IBX itself is available from here and the changelog for the Firebird Pascal API is available from here.

The next release of IBX should be available in the near future and will focus on support for the forthcoming Firebird 4. It will provide support for the new Firebird data types including TIMESTAMP WITH TIME ZONE and extended precision numerics (DecFloat).

MWA Software is pleased to announce that release 2.3.3 of IBX for Lazarus is now available for download from https://mwasoftware.co.uk/ibx. This release continues to track Lazarus 2.0 updates. Recent updates to the LCL TDBLookupComboBox have necessitated further changes to TIBLookupComboEditBox in order to ensure that TIBLookupComboEditBox continues to work when the DataSource is nil (i.e. with only a ListSource).

Otherwise, 2.3.3 consoliates further updates added to the IBX svn trunk since 2.3.2 including:

- ConfigOverrides for both TIBDatabase and TIBXServicesConnection
- Improvements to TIBCSVDataOut, TIBInsertStmtsOut and TIBBlockFormatOut.
- Case Sensitive Parameter Name support
- TIBDatabase.Attachment and TIBXServicesConnection.ServicesIntf are now read/write properties
- TIBQuery and TIBDataSet now support the TDataset.Filter property for server side filtering of SQL result sets.
- Minor bug fixes (see release notes for details).

The latest release candidate for Lazarus 2.0 is recommended for use with IBX 2.3.3. IBX 2.3.3
has been tested with the up-to-date fixed branch for Lazarus 2.0.

MWA Software is pleased to announce that release 2.3.2 of IBX for Lazarus is now available for download from https://mwasoftware.co.uk/ibx. Older versions of IBX will fail to compile with Lazarus 2.0 and upgrade to this version is necessary for use with Lazarus 2.0. All users are recommended to upgrade to the new release. Please read the changelog before upgrading. The release also includes a new SQL Tokeniser and the ability to select the Firebird Library (DLL or shared object) as a property of TIBDatabase or TIBXServicesConnection. Several minor bug fixes are also included.

The release fixes two problems with use of Lazarus 2.0:

  1. A deprecated function that is no longer supported with Lazarus 2.0 has been replaced.

  2. TIBLookupComboEditBox is derived from Lazarus TCustomDBComboBox. In Lazarus 2.0, TCustomDBComboBox takes a more restrictive view of combo boxes that do not have a DataSource. This prevents TIBLookupComboEditBox from being used to select rows in a list dataset when no DataSource is present. TIBLookupComboEditBox has been updated to include a workaround in order to restore previous functionality.

The new SQL Tokeniser has been primarily developed in order to avoid mis-identification of PSQL parameters within BEGIN..END blocks as IBX query parameters. This allows parameterised EXECUTE BLOCK statements to be supported. The new SQL Tokeniser is also used for TIBSQLParser and TIBXScript, in both cases removing duplicate code.

Both TIBDatabase and TIBXServicesConnection now include a new property "FirebirdLibraryPathName". This can be used to explicitly specify the full path to the firebird client library (DLL or shared object). For example, when the library is in a non-standard location or to avoid ambiguity when more than one library is installed. In principle, each instance of TIBDatabase or TIBXServicesConnection could use a different version of the library.