$Id: CHANGES,v 1.4 1993/11/05 14:30:10 kevinl Exp $

Current Version: B0_2 (0.2)

Changes since B0_1_3
- Initialise memServer constants correctly.
- Removed some unreachable breaks.
- Added operator= to objects/relations.
- Added some synchronistaion calls in preparation for multi user.
  They are never used :-)
- Made the TODO list bigger (Don't you hate that?)
- Extended dbString. There are now two types of resizeable objects. The
  base is a dbData which is a resizable object that can hold anything. Its
  length is its size. It has no terminating character.
- Integrated dbData into the package.
- Fixed a potential (rare) bug in the comparison code
- Added diaGRel. You can now instantiate a relation for which you have no
  code. Only the .db, .id? and .str files are needed.
- Added the ichar type.
- Added the db2txt utility.
- dbObject now collects data about relations making attachments for diaGRel
  quicker.
- Added utils.h and utils.cc files so some stuff is out of defs.h
- Record locking didn't work. Did nobody notice? :-) It does now.
- Assignment of relations is now possible but be VERY careful. Define your
  own assignment operator and call your base class properly.
- Updated the documentation.
- DSC: Reversed command line arguments (-C now generates code as opposed to
       inhibiting it).
       Added -G to build derived classes.
       Added constructors and retrievers.
       Added default values for relation members.
- The pKeyType,long constructor has had its optional argument made a normal
  argument to fix constructor clashes.
- dbString and dbData no longer have horrible operators to manipulate
  length byb adding numbers.
- You can now pass "" to theDiamondBase and the TNameServer will consider
  all relations to be in the current directory.

- AND MAJOR ADDITION!!!!!!!!
  ***********************
  ** MULTIUSER SUPPORT **
  ***********************

Id: CHANGES,v 1.3 1993/07/11 10:37:51 kevinl Exp kevinl 

Current Version: B0_1_3 (0.1 PL3)

Changes since B0_1_2
- Added version identifiers to all files/classes.
- Added Next support in the Makefile.
- Added a Make install target.
- Include files are now all in <> so that an installed system will work. A
  -I. is therefore required to build the system.
- Some systems don't have malloc.h. Added a define for that.
- TNameServer now does not exit when no/empty config file.
- Removed direct access to uniques.
- Some support for short filenames and extensions.
- Use #elif not #elsif
- Lots of cleaning up, eg ints/longs

MAJOR ADDITION:
- dbString support. Variable length strings can now be included in
  relations.

Id: CHANGES,v 1.2 1993/05/06 12:24:11 kevinl Exp kevinl

Current Version: B0_1_2

Changes since B0_1_1
- Many compiler defines etc for the SASC compiler on the Amiga
- Many revisions to the documentation
- The data block in the recServer is now long aligned to prevent any
  problems
- We now use structs to store all the keys. This ensures that the key info
  is aligned properly. All char types are moved to the end of the struct
  to make sure no space is wasted around chars.

Id: CHANGES,v 1.1 1993/05/03 01:37:28 kevinl Exp kevinl 
Current Version: B0_1_1 (0.1 PL 1)

Changes since B0_1
- bucket::searchForKey is now a binary search. This has almost halved the
  amount of user time our intensive add/delete test program uses (as
  expected).
- The global diamondBase object must now be called theDiamondBase. This
  means you will have to change (ever so slightly) one line of any apps you
  have written. The reason for this is some compilers don't like a type and a
  variable of the same name.
- Some major cleaning of the const's spurred on by CC

  The rest of these are mosty cosmetic but keep some compilers happy and
    fix some distribution problems.

- Added fancyheadings.sty, CHANGES to the distribution
- Some people don't have flex and lex can't handle our very simple dsc.l so
   lex.yy.c is now included for the lexical-analyser impaired.
- Almost all int variables have been removed and replaced by longs to stop
   very picky compilers complaining and ensuring we don't go losing any bits
   anywhere.
- Removed ;'s off the end of inline function definitions. They are accepted
   by gcc but produce warnings under other compilers.
- inBTree is now 2 functions. We were using an optional reference argument
   which, although accepted by gcc, is not allowed by the ARM. We now
   overload the function (which is what the C++ compiler does with optionals
   anyway!)
- A couple of dbErr cases were left out of the switch in dberr.cc
-  dbobj.h had some inlines with 2 exit points. Fixed them.
- A variable called long in an include file was turned into link as was
   intended.
- In dsc.y, chars were being compared to -1. This causes problems for
   compilers that default to unsigned char. Unfortunately, just declaring
   those char arrays as unsigned doesn't help because some system calls are
   defined to accept the default. So now we use 0 instead.
- In generate.cc we assumed that the != operator returned 0 or 1. This has
   been replaced by a conditional expression.
- Lots of conditional compilation stuff for the CC compiler/preprocessor
   (CFRONT?). It has some very strict rules and some VERY strange ideas. Some
   of its warnings are completely opposite to those of gcc. eg. gcc gives end
   of non void function reached, so you shove in a return, so CC complains
   about unreachable code.
