VBD General Information


Topics:

Overview
Copying
C++ Portability Issues
Supported Platforms
Unzipping


Overview

The Variable Block Database (VBD) library is a collection of C++ classes used to build embedded database engines based on variable block technology.

Features:

Example Programs:

Several example programs with makefiles for each of the supported platform/C++ compilers are provided to test and demonstrate each component of the library.

Documentation:

All the documentation for the distribution is provided in an HTML format. The documentation covers the VBD C++ class library, the example programs, and the utility programs provided with this distribution.


Copying

The VBD, VBD and VBT C++ classes are copyright (c) 1997 and 2000 by Douglas M. Gaer.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


C++ Portability Issues

Every component of the Variable Block Database was developed entirely in C++ and applies the object-oriented programming principles of abstraction, encapsulation, inheritance, and polymorphism. The VBD core classes were developed using Microsoft Visual C++ version MSCV 4.2 and ported to BCC32, HPUX aCC, Sun WorkShop C++, and RedHat Linux using GCC.

Every C++ compiler has its own peculiarities, especially when implementing run time type information (RTTI), templates, and exception handling. RTTI allows the type of an object to be determined during program execution and can be used to find the actual type of an object without entering it. Templates allow the creation of generic functions and generic classes in which the type of data operated on is specified as a parameter. This allows you to use several different types of data without having to re-code specific versions for different data types. C++ includes its own error-handling routines called exception handling. Using C++ exception handling, a program can automatically invoke an error-handling routine when an error occurs.

RUN TIME TYPE INFORMATION:
The VBD database engine does not use RTTI.

TEMPLATES:
The VBD database engine does not use any template classes.

EXCEPTION HANDLING:
C++ exception handling denoted by the key words "try", "catch", and "throw" can be selected with the use of a conditional directive or omitted by default.


Supported Platforms

Variable Block Database source code and the database files themselves are designed to be portable between DOS, Windows 95/98/NT, RISC and Intel based UNIX variants. The VBD C++ class library and the example programs have been compiled and tested using the following target platforms:

WIN32 - Microsoft Visual C++ version 4.2 and higher

WIN32 - Borland BCC32 version 5.5

HP-UX B.10.20 A 9000/819 - HP92453-01 G.10.32.05 HP C Compiler

HP-UX B.11.00 A 9000/780 - HP92453-01 A.11.01.00 HP C Compiler

Red Hat Linux release 5.2 (Apollo) Kernel 2.0.36 on an i586 - gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)

SunOS 5.8 Generic sun4u sparc SUNW, Ultra-5_10 - Sun WorkShop C++ 5.0 (4.2 compatibility mode)


Unzipping The Distribution:

The entire distribution requires approximately 5 MB of free disk space to unzip. Two distributions are available, one for

Windows 95/98 and one for UNIX.

Windows 95:

To unzip this distribution you will need a copy of PKZIP version 2.03 for DOS or WINZIP version 6.1 or higher for Windows 95. To unzip using PKZIP 2.03 follow these instructions:

C:\>mkdir vbdbase
C:\>copy vbd2000.zip c:\vbdbase
C:\>cd vbdbase
C:\vbdbase>pkunzip -d vbd2000.zip

UNIX:

To unzip this distribution you need a copy GZIP/GUNZIP version 1.2.4 or higher. To unzip using GZIP and the UNIX tar utility follow these instructions:

% gzip -d vbd2000.tgz
% tar xvf vbd2000.tar

To unzip using GUNZIP and the UNIX tar utility follow these instructions:

% gunzip vbd2000.tgz
% tar xvf vbd2000.tar

NOTE: You can use UNZIP for UNIX version 5.12 to unzip the Windows 95/98 distribution:

% mkdir vbdbase
% cp vbd2000.zip vbdbase\vbd2000.zip
% cd vbdbase

% unzip -a -L vbd2000.zip

The unzip "-a" option will auto-convert any text files and the

"-L" option will make the directory and file names all lower case.


End Of Document