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)

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.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.