Publish date: 2001-12-13

IBProvider v1.6

Using compiler

_IBProvider.dll was compiled using «Free Borland C++ Compiler». Import of functions of gds32.dll is effected using names. Compatibility with client part of IB4 is present.

Eliminated errors

  • In case of NUMERIC/DECIMAL columns of a resulting set the incorrect size of a type DBTYPE_R8 returned.
  • More correct check of names of types passed to ICommandWithParameters::SetParameterInfo. Earlier it was possible to pass such name «DOUBLEPRECISIO N» for example.

Changes

  • New load base address of _IBProvider.dll is 0x45E00000. Thanks to BCB5 linker the relocation table is kept.
  • Floating conversion of INT64 to VARIANT. Types VT_I4/VT_R8 are available for conversion. Only VT_R8 was available before.

New functionality

  • Realization of IDBInfo.
  • Specialized support of queries «select * from table» was implemented. In this case provider defines table name and grants the information about primary key columns into columns rowset. To tell the truth there is no own full-fledged SQL syntax analizer.)
  • Now VARIANT supports VT_I1, VT_UI2, VT_UI4, VT_INT, VT_UINT types.
  • Fault tolerance. One of potential vulnerable places of OLE DB is data exchange buffer. Because of variety of types and ways of data transmitting, guarantee of the buffer correct processing is necessary. In current version new method of compulsory bypass of all buffer items was implemented. If OLE DB client works correctly, it warrants fault tolerance for any dynamic errors (for example memory allocation.)
  • Implemented a support of «ROLLBACK RETAIN» through OLE DB interfaces.

New properties of «Data Source Information» set

Schema Rowsets

  • 25 sets. All main and set of auxiliary ones.
  • Tested for IB4, IB5, FB 0.9.4 и IB 6.2.641. We hope it will work and under IB6.5
  • Support of limitations.
  • Sorting of contents according to standard.
  • Possibility to manage the mode of metadata caching. See new properties «schema_cache» and «Session Schema Cache«.
  • Weak lockout of metadata cache ensures efficiency of multithreaded applications.
  • Possibility of an prohibition of implicit transactions for execution of queries of metadata obtaining. See properties «inner_trans» and «Session InnerTrans«. If the user started explicitly transaction, just it will be used for metadata obtaining. In case of start of implicit transaction the level of isolation indicated in «Autocommit Isolation Levels» will be used.
  • Some sets were extended to present the more sensible information. In particular
    • DBSCHEMA_REFERENCIAL_CONSTRANTS
    • DBSCHEMA_TABLE_PRIVILEGES
    • DBSCHEMA_COLUMN_PRIVILEGES
  • Returning sets support IColumnsRowset
  • The intensive use of an internal pool of objects minimizes the expenses of recreation of sets.

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