Fast, flexible and high-performance component library for Delphi, C++ Builder and Kylix intended for work with InterBase and Firebird using Direct InterBase API.

Now the SQLMonitor shows the SQL text after applying macros and conditions.

Now the OnFillClientBlob event is called after the record is first read as well as after it’s modified.

TpFIBDataSet.Options has a new option poUseSelectForLock. It can be used if poProtectedEdit = True. In case poProtectedEdit = True, the record will not be locked by “dummy update”, and the following statement will be used instead:Select * from TABLE1 WHERE ... for update with lockNote: This feature works ONLY for Firebird)

The FIBQuery.ExecuteImmediate method has been added. It executes the query immediately, without Prepare (see the isc_dsql_execute_immediate function in the IB API manual)

Now ExecuteImmediate executes DDL queries.

The CopyFieldsProperties procedure has new properties:AutoGenerateValue, ConstraintErrorMessage, CustomConstraint, Tag and Index.

The pFIBDataSet.ReceiveEvents property and the pFIBDataSet.OnUserEvent event are being deprecated and will be removed from the main code in future versions. People, who are still using this property should compile the library with the define USE_DEPRECATE_METHODS2 in FIBPlus.inc.

Bugs fixed:

Occasionally an incorrect record was added to a sorted dataset. Fixed.

An error in TpFIBCustomService.GenerateSPB occurred if the Params property was empty. Fixed.

On changing the Filter property previous filter results were not refreshed. Fixed.

An error in the Locate method on searching numerical values in string fields. Fixed.

Incorrect behaviour of the SQL dataset editor with queries containing the same table in several places. Fixed (guaranteed for Firebird 2 only).

Cached calculated fields in TFIBCustomDataSet.RecordFieldValue did not have the ftSmallInt type. Fixed.

Incorrect handling of fields with charset UTF8 and collate, different from the default value. Fixed.

If the database was in the shutdown mode, the connection automatically closed. Then the lost connection was handled (with pFibErrorHandler). Fixed.

An error in the query generator has been fixed: the field type was not shown for DOUBLE PRECISION fields. Fixed.

A small memory leak on working with the BLOB parameters. Fixed.

An error on locating a Unicode-string in the field varchar(unicode_fss) if poTrimCharFields was set to True. Fixed.

Function InvertOrderClause(const OrderText:string):string; incorrectly functioned:it did not handle Order By using NULLS FIRST, and thus caused incorrect work of the confined local buffer for such queries). Fixed.