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
ficorax/osdb-typhoon
Typhoon Relational Database Management System by Thomas B. Pedersen and Kaz Kylheku
C