IBProvider v3.27.1. Service update
We thank all our clients for their responses to the previous update that we provided. There were many questions regarding the new release, and we will address them below.
About our own client for Firebird (fb.direct)
In the previous release, we completely omitted the description of the new subsystem in IBProvider v3.27 for the connection to Firebird without the server client (fbclient.dll or various derivatives). We only mentioned how to activate it.
And this resulted in many questions from our users. For example — «What is the reason for it’s creation?».
The main reason for creating our own derivative which is not reliant on the fbclient.dll, is to fix existing issues in the fbclient.dll (up to v2.5). The existing issues with fbclient.dll are shown in the list below:
- Memory leaks
- Active multithreaded lock leaks
- Problem with synchronization at the packet receipt/sending level
- Errors in the implementation of operation execution canceling
- Errors in algorithms
- Architecture problems of ISC API
- And the list goes on
All the above issues are present in any application that uses fbclient.dll. And they do not depend on the quality and capabilities of the access components (FIBPlus, IBObjects, FireDAC, ODBC, IBProvider and so on).
At first we tried to correct the original fbclient.dll and created our own clone of Firebird 2.5. But it helped us to solve only a small subset of problems.
So we decided to write our own built-in client for Firebird from scratch.
For avoid any problems with quality of our built-in client, more that 24,000 new unit tests were created. It in addition to the existing 7 million tests of IBProvider. Round the clock testing took place during the whole period of development.
After the release on December 17, 2015, additional advanced load and stressed testing were performed for the direct connection to Firebird 2.5 (SuperClassic, x64, Win) via TCP/IP. This resulted in over 1,500 hours of the test server processor time. We can confirm that all tests succeeded and we are happy with the end result.
We hope that this newsletter answers any doubts that you have regarding the choice of connection to the Firebird 2.5 dedicated server via IBProvider.
But the choice is yours of course.
Better support of arrays
IBProvider now uses 32-bit numbers when manipulating array elements. This allows it to work with dimensions containing up to 2GB of elements. For example: [-10000000:10000000].
Rubbish removal
The redundant «IB Remote Connection» property was removed.
vc14xp builds
«vc14xp» builds are now compiled using Visual Studio 2015 Update 1.
CRT version: 14.0.23506.0
Internal changes
We are constantly working to improve the C++ code quality of IBProvider. The changes can be partially seen in the «Lib» directory with the IBProvider installation.
Current focus area
We want to fix the current server error with VARCHAR arrays (CORE-1588) at the provider’s level.