Publish date: 2016-01-20

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.

The architectural possibility of such a client was initially provided for in IBProvider v3 in 2003. That’s why we didn’t have to completely rewrite the IBProvider’s code.

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.

We recommend that you specify «dbclient_type=fb.direct» in the connection string and connect via INET protocol, especially if you use IBProvider with a MSSQL linked server.

But the choice is yours of course.

The new subsystem is available only within «IBProvider Professional Edition». «IBProvider Free Edition» can work with Firebird only via fbclient.dll.

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

Builds created with VS2010, VS2012, VS2013 and VS2015 are now available in user accounts. If you need the builds created with VS2008, please email us and we can provide links for them.

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.


Publish date: 2016-01-20. Copyright: IBProvider. This material may be reproduced on other web sites, without written permission but link https://www.ibprovider.com/eng required.