In order for this site to work correctly, and for us to improve the site, we need to store a small file (called a cookie) on your computer.
By continuing to use this website, you agree to our cookies and privacy policy.
Home page Home page Home page Home page
Pixel Header R1 C1 Pixel
Pixel Header R2 C1 Pixel
Pixel Header R3 C1 Pixel

BondTRV 2.0 - A Review


Whilst it is not normally our policy to review software twice, we thought that with the growing interest in Client/Server technology it would be beneficial to revisit BondTRV - the BTRIEVE bond from Icicle Software. The latest version of the product not only includes a runtime version of Btrieve for non-Novell users, but it provides Client/Server computing when used with a full network copy of the Btrieve.


Whilst not a "plug in and play" product like Spindex, BondTRV is certainly a lot easier to set up than SQL Server and can thus provide a much easier "in" to the world of Client/Server computing. The product is commercially mature and benefits from a very robust user interface and API. Once again Icicle have shown how third party BFSs ought to be implemented. The only failing is the lack of extended Btrieve documentation provided with the package. As a newcomer to Btrieve I personally found all of the setup options daunting, and the coverage or Btrieve as a filing system was virtually non-existent - however if you have Novell, you will already have a Btrieve manual.

What does BondTRV do?

BondTRV provides a complete replacement for the Linear Hash filing system, replacing it instead with the Btrieve filing system - a filing system much used in Novell applications and providing Client/Server capabilities. The Btrieve filing system - being essentially fixed length, with extensions for variable length - is more efficient at retrieving at speed than AREV. Consequently non-indexed searches can be made much more quickly with Btrieve than with AREV. In addition to this, BondTRV permits the establishing of complex query filters which can then be used as "virtual fields" when query commands are used - for example a filter could be set up called TRI_STATE_MONTHLY_REPORT which sorted by three criteria and only included data from 3 states. Reports could then LIST BY TRI_STATE_MONTHLY_REPORT and BondTRV would provide optimised access to the Btrieve files.

How does BondTRV do it?

BondTRV is implemented at the BFS level and as such integrates transparently into the AREV environment. Existing applications will run without modification although changes will need to be made to allow access to the enhanced features of the BondTRV bond. In addition, direct programmatic manipulation of the Btrieve data is made possible by a massively extended equivalent to REDUCE and BTREE.EXTRACT. Rather than using these two routines, BondTRV permits the user to define a sort order, starting and ending values and filter criteria within a special labelled common area, and then any subsequent READNEXT/READ loops are met using the established filter criteria. When using the server based version of Btrieve this can lead to massive performance improvements. Frank de Palo at XLTech reports the server based version taking less than 2.5 minutes to traverse a 200,000 record file using this feature.

In addition, it is possible to make direct calls to the BFS and this is well documented in the user manual.

How well does BondTRV do it?

The true test of a BFS is whether you can tell that it is there. With BondTRV you cannot - unless you notice the improved retrieval times on non-indexed fields. Because Btrieve uses explicit data typing, BondTRV must perform extensive domain validation. Thus setting up BondTRV files for the first time requires a knowledge of what is meant to be achieved - as I am not a Btrieve person, it took several attempts to set up the test files - however the domain validation is superb and always tells you explicitly why an operation has failed. There are no "Null i/o error" messages - rather "Operation failed because the total length of the fields defined (509 bytes) exceeds the maximum defined length of the record (500 bytes)."


BondTRV does not position itself as a speed aid - this is merely a side effect of the efficiency of the BFS. Further, BondTRV can be used in both a client server and a standalone mode. For this reason it is not considered appropriate to provide comprehensive benchmarks of the product - it should be bought as an introduction to client server computing or as an interface to existing Btrieve applications. However tests by Frank de Palo at XLTech comparing non-indexed performance to standard AREV show a significant improvement in throughput although some indexed queries were quicker under AREV than with BondTRV.

Supplier Details - Icicle Software, 907 Front Street, Suite 204. Leavenworth, WA 98826. (509) 548 5761 (Voice) (509) 548 7862 (Fax). Only one licence needed whether single or multiuser. $695.

(Volume 3, Issue 6, Pages 11,12)
Pixel Footer R1 C1 Pixel