Softfocus BTree/ISAM v3.1

July 1st, 1998 by Edmund P. Morgan in

Softfocus offers a low-cost solution (with source code) for your data management needs.
Your rating: None Average: 1 (2 votes)
  • Manufacturer: Softfocus

  • E-mail: jon@tap.net

  • URL: http://www.greymatter.co.uk/gmWEB/Items/BND00133.HTM

  • Price: single-user $115 US, multi-user $175 US

  • Reviewer: Edmund P. Morgan

Developers, have you ever needed a way to store data without the overhead of a RDBMS (relational database management system)? You are now in luck, because Softfocus offers a low-cost solution (with source code) for your data management needs.

Documentation

The documentation is supplied in the form of a 171-page manual, which is brief yet packed with a wealth of knowledge and information. It provides a table of contents, index and appendix. The manual starts with a explanation of the BTree and ISAM (indexed sequential access method) concepts. The next section links the concepts with instructions on implementing applications under this product. Most of the manual is reserved for explaining the API (application programming interface).

The manual provides you with the following information:

  • Function parameter list

  • Function return code

  • Message text of the return code

  • What the error implies

  • Multi-user (multi-tasking OS) information about this function

  • Location of the file pointer after a function call

  • Other information and descriptions of the function

  • Any changes from the last version

The manual also provides plenty of examples to guide you through the process of building your application.

Installation

Installing this product is a snap—you just copy the files to your hard disk. All of the source code, the Makefile, the configuration file and other files are available to make compilation easy. The product supports a variety of C compilers and environments, and assumes you are familiar with C. I have used this product in various environments (i.e., DOS, Linux, Windows 95, Windows NT, HP-UX, DEC UNIX, SGI Irix, Solaris and Dynix/PTX).

Software

The software distribution is comprised of over 120 files, including over 15,000 lines of source code. This product can support the following:

  • Database file size limited by disk space

  • Record size up to 65KB

  • Virtually unlimited database files open at the same time (depending on OS)

  • Keys (string, integer, binary, long integer, floating point, user defined)

  • One index or multiple indices

  • Duplicate or non duplicate key values

  • Ascending and descending index

The software via the API allows easy database application development, and only one include file gives you access to the APIs. The APIs are divided into three sections. The first is the high level ISAM APIs. The database layout is based on C structures that you provide when building your application. These APIs give you the ability to write programs without knowing the low level details of database management. These APIs begin with the prefix “bt3” for the function names. This scheme gives you quick access to information only associated with these high level APIs. These APIs are appropriately named so as not to divert your attention from your application. The API function names include names such as create, open, add, close and delete. These functions perform the following tasks:

  • create: create a database.

  • open: open a database.

  • add: add a new record to a database.

  • delete: remove a record from a database.

  • close: close a database.

Many other ISAM APIs can help you search through the database, allocate memory, lock and unlock a database or record, flush a record to the database, etc. This product includes the variable length and low level BTree APIs. The variable length API manages data with varying lengths. The low level BTree API handles all of the database management details. When you use the ISAM APIs, they call the BTree APIs. Since I have used only the ISAM APIs directly, I cannot comment much on the use of the other APIs. Each API gives you access to the following information:

  • Function return code

  • Message text of the return code

If the examples in the manual are not enough, the distribution comes with plenty of demos and test programs to investigate. The distribution also includes a utility to fix most problems associated with database indexing and corruption. Typically, I call this utility once before manipulating an existing database.

Conclusion

I have been using this product for over five years. I would recommend it to any developer who needs database management without the overhead of a RDBMS. This product is lean, fast and does not require a lot of disk space. You, as the developer, have complete control of your database management application. This product is easy to port (recompile), and the manual provides complete information. Also, no license is needed to distribute your application. The best thing about Softfocus BTree is that, like Linux, source code is included.

Edmund P. Morgan has been involved in the computer industry as a software developer since 1983. His favorite environment is Linux and C. His most interesting project involves the current after hours work of automating the entire information management infrastructure of his local church. And, of course, Linux is the server OS and development environment of choice. He can be reached at emorgan@cup.net.

__________________________


Special Magazine Offer -- Free Gift with Subscription
Receive a free digital copy of Linux Journal's System Administration Special Edition as well as instant online access to current and past issues. CLICK HERE for offer

Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.

Post new comment

Please note that comments may not appear immediately, so there is no need to repost your comment.
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd> <i> <b>
  • Lines and paragraphs break automatically.

More information about formatting options

Newsletter

Each week Linux Journal editors will tell you what's hot in the world of Linux. You will receive late breaking news, technical tips and tricks, and links to in-depth stories featured on www.linuxjournal.com.
Sign up for our Email Newsletter

Tech Tip Videos

From the Magazine

December 2009, #188

If last month's Infrastrucuture issue was too "big" for you then try on this month's Embedded issue. Find out how to use Player for programming mobile robots, build a humidity controller for your root cellar, find out how to reduce the boot time of your embedded system, and if you're new to embedded systems find out the basics that go into one. You can also read about the Beagle Board, the Mesh Potato and a spate of other interestingly named items. And along with our regular columns don't miss our new monthly column: Economy Size Geek.


Read this issue