mSQL 1.0 Patch 9         20 - Oct - 1995
---------------------------------------

	o Fixed close of stdin in keyFD handling (new key code)
	o Fixed memory leak in the client library
	o Fixed force close of UNIX socket when over-ridden by the
		environment variable
	o Fixed a couple of core dumps introduced by the new key code
	o Replace sorting code with a new algorithm (mmap only)
	o Fixed bug in msqlUpdate() that reported a duplicate key error
		if you updated the key field to the same value.
	o Merged in the LIMIT patch from Rasmus Lerdorf <rasmus@io.org>
	o Fixed locale problem with LANG make variable
	o Inlined a few calls to bcopy and bcmp for performance
	o Removed libmisc.a  All misc finctions are now in libmsql.a
	o Fixed problem with field definition info (eg IS_PRI_KEY) being
		destroyed after a join.
	o Added a msql_tmpnam() function to get around the NeXT's
		problem with it's own tmpnam().
	

mSQL 1.0 Patch 8         5 - Sep - 1995
---------------------------------------

	o Added portability.h to msql_yacc.c
	o Changed LANG to MSQL_LANG in site.mm to avoid locale conflicts.
	o Added numRows field to table cache.  Used to keep track of
		result table size.
	o Added new fast ordering code for mmap() based installations
		based on code by Pascal Forget <pascal@wsc.com>
	o Modified the makegen install macros to rename an old
		installation prior to copying the new file.
	o Added row length check to msql so that internal buffers are
		not overflowed.
	o Fixed formatPacket() so that getting the size of a long field
		doesn't overflow the tmp field length buffer bufLen
	o Added check for duplicate field names in table creation (ooops!)
	o Added further join optimisation.  It now does more partial
		match checking while processing the inner table of
		the join (a big win in performance and swap utilisation)
	o Fixed problem with mmap() under BSDI and HP-UX.
	o Fixed buffer overrun in msql for cases such as a query missing
		a closing quote on a text field.
	o Optimised DISTINCT operations a little.
	o Fixed buffer over-run in handling the return of a query
		edited with an external editor  (\e command)
	o Fixed table names in returned result table info
	o Fixed bug caused by the combination of the new sort code
		and the old distinct code for mmap() machines
	o Merged in experimental mSQL-2 code.  Not enabled by default.
		This is as far as I can go with the 2.0 code without going
		all the way!  This is the end of the 1.0 release base code
		as the further 2.0 work will need to modify the database
		formats.



mSQL 1.0 Patch 7         3 - Jul - 1995
---------------------------------------

	o Changed __P macro  to __ANSI_PROTO in msql.h due to a
		clash with a gcc __P macro on some systems.
	o Fixed "Unknown field" bug in result table handling  (cond list
		on final select should have been NULL).
	o Removed LANG definition from site.mm as it's being grabbed
		from common/site.h
	o Added depend's for each object file on Makefile.full as
		not enough things were being recompiled if the root
		user was changed.
	o Fixed bug where a row could have be updated to contain a
		non-unique key value
	o Added optional AS to table aliases for ANSI
	o Added support for 17 digits of precision in REAL numbers
		(a bug was limiting this to 1 digit of precision)
	o Added sig handling support for OS's that reset the sig
		handler on sig delivery (eg IRIX)
	o Removed execute bit from PID file mode.
	o Fixed undefined error if first field of a select result was
		NULL (required a slight mod to the protocol again :-( )
	o Fixed core dump on update of key field value when where clause
		uses key field.
	o Fixed query buffer length problem in msqldump
	o Fixed credit info for Nils Faerber
	o Added debug feedback for failed command reads
	o Fixed args to exec() in msqld.c
	o Fixed core dump from access to free()'d space if INSERT given with 
		out the field names.
	o Brought makepend's Makefile under the control of makegen
	o Fixed inet_addr() return problem for Alpha's
	o Fixed race condition if client fails before the connection is
		setup properly


mSQL 1.0 Patch 6        29 - May - 1995
---------------------------------------

	o Added support for table aliases in joins.  Thanks to
		Mark Onyschuk <mark@oa.guild.org> for his patch
		(I didn't use it but it made me complete the work I'd
		started).
	o Added multi-language error messages with help from
		Nils Faerber <gl055@appl2.hrz.uni-siegen.de>.
	o Fixed bug in joins where the order of the tables
		could cause different results.
	o Added extra symbols to the lexer from ANSI.
	o Added support for inserts without field spec's based on an
		old patch from Paul Reithmuller <par@sequent.com>.
	o Added support for VISUAL and EDITOR environment vars
		in the monitor.
	o Fixed a memory leak in extractValues().
	o Fixed definition of key and outerKey in joinTables().
	o Fixed problem with OR clauses in joins.
	o Fixed problem with OR clauses in update/delete/select where
		the primary key is involved.
	o Added support for Scientific Notation in reals using a patch
		from Stan Dallas <stan@analogy.com>
	o Added support for server port number to be in /etc/services
		or in MSQL_UNIX_PORT and MSQL_TCP_PORT variables
	o Fixed NULL handling in updates, the protocol and libmsql
		( NOTE : a NULL value is represented by a NULL pointer
			in the returned row.  If your application
			doesn't check the data before it uses it you may
			be introuble with this one).
	o Added NULL support to mSQL monitor
	o Added NULL support to relshow
	o Added optional ANSI C prototype support to msql.h
	o mSQL protocol now at level 5 
		( NOTE : you'll need to relink your apps)


mSQL 1.0 Patch 5        15 - Feb - 1995
---------------------------------------

	o Fixed bug in long text field handling
	o Added C++ support for msql.h
	o Added support for MSQL_HOME environ variable in msqld
	o Added HAVE_MMAP defines around new munmap() call
	o Extracted the install from the Makefile to an external script
	o Replaced "-c -o $obj" with "-c" in the makegen macros
	o Added partial match optimisation for the outer loop of joins
	o Fixed integer handling for Cray (64bit)


mSQL 1.0 Patch 4        8 - Feb - 1995
--------------------------------------

	o Moved target stuff to a script as bash dies on the Makefile
	o Fixed bug in net.c regarding non-terminating reads
	o Fixed memory leak left after 1.0.3 testing
	o Added identifier length checks
	o Fixed Multiple free problem with tmp tables values
	o Fixed memory leak with tmp condition list values
	o Fixed formatPacket() to handle long char fields (>1024)
	o Added hash based keyword lookup to parser  (speedup)
	o Reduced the use of bzero and bcopy (speedup)
	o Inlined a couple of functions that are called frequently (speedup)


mSQL 1.0 Patch 3        1 - Feb - 1995
--------------------------------------

	o Fixed conInfo index bug
	o Fixed net.c to ensure full reads and writes
	o Added 64-bit int support for Crays
	o Fixed Cray stuff in the README
	o Added msqlClose() to msql.h
	o Added AIX sys/select.h support to common/config.h.in
	o Added further version info to msqladmin
	o Added calls to msqlClose() in relshow
	o Added error reporting for multiple primary keys in create
	o Fixed key handling in "complex" conditions
	o Added socket details to debugging output (general in msqld
		and api in libmsql).
	o Started on primary key support withing joins
	o Reverted to an older version of autoconf so that it
		will build under SunOS 4.1.3

mSQL 1.0 Patch 2        18 - Jan - 1995
--------------------------------------

	o Fixed mmap() problem with key remapping
	o fixed -h option on msql
	o fixed tabs in # defines in site.h for AIX
	o Added "grep -i" to killer test for AIX's time output
	o Made net.c a bit more robust
	o Fixed LIKE field over-run problem
	o Added AIX stuff to sys-arch
	o Upgraded to the current version of autoconf
	o Fixed long field/table name over-runs (core dump)
	o Tightened up file and directory modes
	o Added test for max number of connections
	o Fixed socket handling on failed connection in libmsql
	o Fixed makegen macros for SVR4.2


mSQL 1.0 Patch 1        5 - Jan - 1995
--------------------------------------

	o Added -h option to msql
	o Added MSQL_HOST support to msql
	o Fixed arg count in call to msqlLoadAcl() in msqld.c
	o Fixed fchmod() problem in makedepend for SCO
	o Added ACL support for admin commands from "localhost" as
		SCO doesn't have UNIX sock's so admin commands come
		from localhost over TCP.
	o Fixed NULL value insert and condition core dumps
	o Fixed comments within char literals in the terminal monitor
	o Added -q mode for msqladmin 
	o Changed HOST to MSQLHOST in rtest to overcome default environments
	o Removed myself from run_daemon so that I don't get other
		peoples crash reports
	o Added mode setting for install directories to mkinstalldirs
	o Fixed install.mm and libinstall.mm to only chown if owned by root
	o Fixed yyerror() so that a NULL yytext doesn't cause a SEGV
	o Added quote escaping to msqldump
	o Added "integer" and "smallint" to the lexer
	o Fixed field list over-run and protocol screwup in msqlListFields()
	o Added on-the-fly INT to REAL conversion on inserts
	o Added filename and line number info to malloc and mmap debugging
	o Fixed huge memory leak in ident structure handling
	o Fixed remapping during keyed inserts (50% less map/unmap calls)
	o Fixed int active comparisons
	o Forced a buffer reload after deleteRow() if mmap() not in use.
		Thanks to Pierre Dupre (Pierre.Dupre@metro.fr) for
		finding and fixing this problem on his Motorola.
	o Fixed NULL row free in createSortedTable(), createDistinctTable()
	o Added malloc() and mmap() leak detection in debug modes
	o Added table cache cleanup on exit.
	o Added continuation prompting to monitor



mSQL 1.0                14 - Dec - 1994
---------------------------------------

	o Fixed select loop bug (bad FD on partial client connection)
	o Added read loop timeout for those with interruptable syscalls
	o Fixed one-line bug in readKey() that cause key lookups to fail
	o Merged msqlsave by Igor Romanenko (igor@frog.kiev.ua) into the
		distribution as msqldump.  Added ability to dump entire
		databases and reformated to match the rest of the code.
	o Fixed call to /bin/echo in makegen for bash
	o Added #ifdef's for signal names around calls to signal()
	o Added DISTINCT operator to SELECT's
	o Fixed bad type checking in writeKey()
	o Fixed key remapping bug (wasn't remapped between inserts).
	o Ported code to FreeBSD 2.0 (including getting around a
		compiler bug and a _very_ wierd shell!)
	o Recoded the lex scanner in C (msql_lex.c)
	o Added support for escaped data in text literals
	o Recoded text literal code to handle 8-bit data rather than
		just strings (i.e. no strlen(), strcpy() etc.)
	o Added Version info to the server
	o Added 'version' command to msqladmin
	o Added '-h host' option to all commands
	o Removed support for MSQL_HOST env var as -h does the job better
	o Added '-q' flag to msql 
	o Added regession test suite


mSQL 0.3 Beta Patch 1	28 - Nov - 1994
---------------------------------------

	o Fixed bug that caused the server to go into an endless read loop
		on a bad client crash (SIGPIPE related)
	o Added argc test to msqladmin
	o Fixed POSIX_SOURCE garbage in X's headers for makedepend
	o Recoded signal handling in makedepend/main.c so as not to
		use sigaction() and friends (just use signal() )
	o Added "proctitle" debugging option
	o Added "mmap" debugging option
	o Fixed mmap() key file seg fault after re-map
	o Generally cleanup up the mmap() based code.
	o Added support for /bin/time being in places other than /bin
		to the killer test.
	o Fixed srand() type declaration problem for Linux in libmsql.c
	o Added support for GNU time in the killer script
	

mSQL 0.3 Beta		21 - Oct - 1994
---------------------------------------

	o Repackaged Alpha 3 for a more public Beta release


mSQL 0.3 Alpha 3	20 - Oct - 1994
---------------------------------------
	
	o Added end-of-query marker handling

	
mSQL 0.3 Alpha 2	18 - Oct - 1994
---------------------------------------

	o Fixed "echo -n" in make targets
	o Removed X includes within makedepend
	o Fixed trailing space in site.mm.in
	o Added a missing check for dirent/direct in msqldb.c
	o Clean up tmp dir test in setup

mSQL 0.3 Alpha		17 - Oct - 1994
---------------------------------------

	o Added access control
	o Fixed struct dirent/direct portability
	o Improved error reporting during connection setup
	o Moved database creation and deletion into the server
	o Fixed msqladmin to use the create/drop in the server
	o Added code to invalidate any cache entry relating to
		a DB if the entire DB is dropped.
	o Added support for qualified fields using ident_t structs
	o Fixed setupFields and setupConds so that all ident's are
		qualified internally.
	o Added support for non-textual values (e.g. field to field
		comparisons) using val_t structs
	o Added temporary result table support
	o Added joins
	o Added code to ensure reads and writes handled the full amount
		of data
	o Added selcet ordering
	o Removed all global cacheEntry pointer references
	o Added PID_DIR test to setup
	o Added VISUAL environ variable support to query editing within
		the mSQL monitor.
	o Fixed a one line bug in the cache entry free()'ing code that
		caused bad memory hunks to get into the cache (thanks
		for the help Andreas).
	o Added per table cache entry read buffering to improve performance
		of joins etc. if there's no mmap().
	o Fixed 64-bit pointer problems.
	o Fixed quoting in generated Makefiles for OSF/1's shell
	o Added makedepend stuff to makegen.
	o Added portability for AIX <select.h> and struct fd_set
	o Added type checking to conditionals
	o Added fudge to map int's to reals for things like "2.3 > 2"
	o Fixed the client lib so that a data flow from the server could
		be interrupted and terminated by an error message. (e.g.
		a select fails half way through with an error message)
	o Fixed null handling so that queries work as expected
	o Added support for non-root installations



mSQL 0.2 patch 3        9 - Sep - 1994
---------------------------------------

	o Added the License file to the distribution.  Make install
		was looking for it when it wasn't there.


mSQL 0.2 patch 2        8 - Sep - 1994
---------------------------------------

	o Modified the killer test script so that it can use both BSD
		and SysV styled /bin/time outputs
	o Moved the large buffer used by readKey() into the global scope
		so that it wasn't put onto the stack (small stack limits
		were failing)
	o Purify'd the sucker within an inch of it's life.  This should
		fix the problems seen on NeXTs as there were many places
		where free memory reads and the like were going on.  Huge
		levels of thanks an appreciation to Anthony Baxter for
		actually doing the Purify'ing (repeatedly) as I don't have 
		a copy.
	o Added a LINKER variable to site.mm so that a one line change
		could be made to force the use of other linkers like
		Purify.
	o Added checks to ensure that a database had been selected prior
		to performing operations such as msqlListFields() etc.
	o Added a call to msqlClean() from inside yyerror() so that the
		internal guff is cleaned if the query has a syntax
		error.
	o Fixed array bounds over-run error in writeRow() if a row
		buffer was provided.
	o Added a dummy variable info struct to the result handles
		returned by msqlListDBs() msqlListTables() so that they
		could be treated as standard query results.
	o Esured that msqlListFields() retuned a result handle with a 0
		row data table.



mSQL 0.2 patch 1	22 - Aug - 1994
---------------------------------------

	o The cache routines were often using an old global pointer into the
		table cache structure (tableDef) rather than dereferencing
		the current cache entry pointer.  This caused the server
		to often use the incorrect table defininition.


mSQL 0.2  		19 - Aug - 1994
---------------------------------------

	o Added mmap() support to readRow() and writeRow() 
	o Added primary keys to database, field definition and protocol
	o Added code to invalidate the table cache entry of a table if it
		is dropped.  This fixes the bug whereby a table could be
		recreated and the server still used the old definition.
	o Profiled selects a little to improve performance.  The parser now
		sets a flag if it sees a field wildcard in a select.  This
		ensures that expandFieldWildcards() is only called when it
		is needed.
	o Merged in par's mod's for "not null" support. 
	o Fixed bug in updateValues() introduced by the "not null" patch
	o Added checkNullFields() to utilise the new notnull field and
		byte to ensure notnull fields are in fact notnull.  An
		insert or an update will now fail if a notnull field has
		no value.
	o Added LIKE clause for char type comparisons.  The SQL regexp
		syntax is mapped into "unix" regexp syntax and Henry
		Spencer's regexp library is used for the evaluation.
	o Added trap code, puntClient(), to handle the SIGPIPE generated if 
		a client bails out after submitting a query but before the 
		result is sent (i.e. server writes down a closed socket).
	o Added support for negative int values (should have been in there
		to start with).
	o Removed case sensitivity from SQL keywords
	o API modified :-
		msqlStoreResult() added returning result*
		msqlFetchData() is now msqlFetchTable() taking result*
		msqlFetchRow() added taking result*
		msqlInitDB() now called msqlSelectDB()
		msqlConnect() takes host or NULL to revert to old behaviour
		msqlConnect() returns server socket
		all routines that talk to the server now take socket
	o API data types :-
		m_table is now m_data
		m_result added as the query result handle
	o Protocol modified :-
		now handles null's and keys
		username passed to server when msqlInitDB() called.
		field info is now returned from a select
	o Cleaned up client library and removed the references to
		debug() unless MINERVA_DEBUG defined.  Debug still
		included in the server
	o Fixed bug in real handling (had atof() returning a double)
	o Added autoconf test for sys_siglist
	o Found and fixed a bug in the table cache code that caused a
		core dump if the cache was rolled over.
	o Found and fixed one of the memory leaks in select calls
	o Implemented new data/key reading/writing mechanisms for use
		with disk files as the mmap() code had to be backed out.
		The new ones are faster than the old ones anyway.
	o Added internal debugging to the API with an internal copy of
		the debug code.
	o Added heaps more debugging to the server
		


mSQL 0.1 patch 1	5 - Jul - 1994
---------------------------------------

	o Fixed a stupid problem with the Makefiles generated by makegen.  
		The release version had problems with "make install"


mSQL 0.1		30 - Jun - 1994
---------------------------------------

	o How can there be any history!  This is the first release :-)
