Dear programmer,

I have decided to make new releases of the Typhoon library, using
release Thomas Pedersen's 1.10.3 release as my starting point. Below is the
original copyright message which should be retained in all derived works at the
request of the original author, Thomas B. Pedersen.

A number of years ago I used Typhoon successfully in a project that needed a
database. Recently, I did some searching around the net hoping to find a new
improved Typhoon library. To my dismay, nothing new had been released in about
four years. After trying to contact the author to no avail, I decided to take
over maintenance of the software. I'm numbering my releases 1.11.x for now.
The first one is 1.11.0 and is purely cleanup related. My aim was to produce a
clean build on modern GNU systems, like Linux with glibc2. I fixed up errors in
the configure script and many issues arising out of using crusty K&R C.  I'm
contemplating converting everything to ANSI C, but I've decided not to do this
in the first cleanup release.

Bug reports and other e-mail related to this software should be sent to
<kaz@ashi.footprints.net>.

Yours, 

Kaz Kylheku

October 3, 1999.

Original README text follows
-------------------------------------------------------------------------------


            Typhoon Relational Database Management System v1.0
 
       Copyright (c) 1994 Thomas B. Pedersen.  All rights reserved.

 Permission is hereby granted, without written agreement and without
 license or royalty fees, to use, copy, modify, and distribute this
 software and its documentation for any purpose, provided that the above
 copyright notice and the following two  paragraphs appear (1) in all 
 source copies of this software and (2) in accompanying documentation
 wherever the programatic interface of this software, or any derivative
 of it, is described.

 IN NO EVENT SHALL THOMAS B. PEDERSEN BE LIABLE TO ANY PARTY FOR DIRECT,
 INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
 THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF HE HAS BEEN 
 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 THOMAS B. PEDERSEN SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
 NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" 
 BASIS, AND THOMAS B. PEDERSEN HAS NO OBLIGATION TO PROVIDE MAINTENANCE,
 SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 
-------------------------------------------------------------------------------

Typhoon is a freely available relational database management system for
the UNIX and OS/2 environments. 

This release has been prepared in a hurry to get it out as quickly as 
possible. This means that the documentation is rather sparse, since I
haven't had the time to write extensive documentation yet. However, most
of you out there are pretty clever, so you'll probably do fine with the
man pages and the examples.

The system works fine and is currently used in a number of professional
applications in Denmark, some of them mission critical.

The system was originally inspired by Raima's db_VISTA (today Raima Data
Manager) but is relational rather than network based. Typhoon lacks some of
db_VISTA's features, but also contains a number of nice features not found in 
db_VISTA.

All relations are defined in a so called Data Definition Language (ddl) file.
You define the database relations like you would write a C structure with
chars, ints, strings, multidimensional arrays, nested union and structures,
etc. Then you define primary, alternate and foreign keys for each relation.
The Data Definition Language Processor (ddlp) compiles the database defintion
into a binary file which constitutes the database description. The database
relations are accessed via C subroutines which manipulate individual records
within a table.

	- Multiple open database
    - Multi-field keys
    - Nested structures in records
    - Controlled unions
    - Referential integrity
    - Variable length fields
    - Null keys (optional keys in db_VISTA, but easier to use)
    - Dynamic opening and closing of database files

At present the database has no locking mechanism, believe it or not! The
projects I have used it in, simply didn't need it, even though they were
multi-user environments. But it's in the works!

I am currently working on extending the library to support the following:

	- Locking
	- Logging
	- Transactions 
	- Paging (to improve performance)

The library functions will remain intact, except for a number of new functions.
I expect these things to be ready before the end of the year. Beta testers
are welcome.

The library comes with three additional utilities:

	dbdview		- Displays database definitions.
	tyexport	- Exports tables from a database.
	tyimport	- Imports tables into a database.

Originally the library also contained online backup, restore and a replication
server. These tools would need a lot of extra documentation, so I have left
them out for now (the code still contains support for these utilities).
However, if enough people show interest I will probably release them also.


-------------------------------------------------------------------------------

Bug reports and mail should be sent to 

	Thomas B. Pedersen
	zeppelin@login.dknet.dk

Also, if you have any suggestions as to how I can improve the library, 
documentation or anything else, please don't hesitate to mail me.


Regards,

Thomas B. Pedersen
