2  March 1997 	2.0 Beta 5
--------------------------

	mSQL
	====

	o Rewrote regression test suite to obtain better code coverage

	o Added real value precision handling to solve real number
	  rounding errors.  The desired precision is now stored with
	  the value in the database table.

	o Added code to translate system variables (eg _rowid) into
	  "real" table fields during creation of a result table.  This
	  allows the sysvar value from the original table to be carried
	  through a DISTINCT or an ORDER rather than it being incorrectly
	  generated from the result table.

	o Added ability to order a result on the value of a system
	  variable

	o Added more system diagnostics for low-level errors

	o Added more file ownership testing (for those that chown the
	  data file and don't get it correct)

	o Added /dev/tty test in makegen macros.  I though expecting 
	  /dev/tty to exists was fair but apparantly not so on IRIX
	  5.3.

	o Added README.sco for build details on SCO

	o Added msqlGetSequenceInfo() to API and server

	o Added support for showing sequence structure to relshow

	o Added support for dumping current sequence status to msqldump

	o Added support for UINT data type

	o Added support for DATE data type

	o Added support for TIME data type

	o Added support for MONEY data type

	o Added mmap region syncing for data files, overflow files and
	  the mapped regions of the AVL index files.  Frequency of sync's 
	  is configured in msql.conf.

	o Added support for sequences in relshow (sequence creation at
	  the current sequence value)

	o Added msqlGetSequenceInfo() API function

	o Added _systime system variable

	o Added mSQL time and date functions to the API library.  These
	  allow for conversion from the text representations used by
	  mSQL into a valid UNIX time_t value.

	o _sysdate system variable now returns a date type value of the
	  current data on the server machine (not the UNIX time value
	  as previously returned)

	o Rows are now padded to an 8 byte boundary for memory alignment
	  reasons (mmap() access to the row headers structures on Alpha)

	o Row header timestamp now time_t rather than int for machines
	  that use long time values (e.g. the Alpha)

	o Fixed memory leak in yyprev symbol handling

	o Fixed wild free in lexer symbol handling (core dump)

	o Fixed timestamp overwrite problem for the Alpha

	o Fixed relshow core dump for invalid index name

	o Fixed core dump in AVL code when accessing an unaligned real 
	  (i.e. a double) value in the tree node

	o Fixed bad handling of numeric index types by moving the field
	  value auto-casting earlier in the control flow

	o Fixed AVL Lookup problem for indices comprised of real values

	o Fixed compound index handling bug (key could be incorrectly
		formatted on lookup resulting in no results).

	o Fixed problem with ident comparisons on single table selects

	o Fixed problem with ident to sysvar comparisons on single table 
	  selects (e.g. select * from foo where f1 = _rowid)

	o Fixed wild free problem for ident values in join code (core dump)

	o Fixed memory over-read on some TEXT field operations

	o Fixed data hole free list handling

	o Fixed multiple increment of sequence value (i.e. select _seq
		from foo would increment the seq for each row)

	o Fixed multiple increment of seq in conditions (i.e.
		"select _seq from foo where id > _seq" would increment
		the sequence twice (once for each call to getSysVar() )

	o Fixed handling of system variables in join results

	o Fixed 8 byte alignment problems in the AVL tree code.  The
		entire server is now 64bit clean and passes the
		new regression test on an Alpha under OSF/1



	Lite / W3-mSQL
	==============

	o Rewrote all symbol table handling code to use a 64 way
	  hash table for symbol lookups.  Also added a short-cut for
	  symbol searches.  General performance increase in every aspect
	  of the language results from this modification.

	o Added support for non-local authentication databases via the
	  msql.conf file.

	o Added support for HTML comments and other non-Lite tags that
	  start with <!

	o Adding hooks for the mSQL time and date routines to mod_std

	o Added getTzOffset() to mod_std for hacking time values

	o Added toksplit() to mod_std

	o Added literal symbol re-use code

	o Fixed auto-casting problems with the new uint type

	o Fixed auto-base-conversion (i.e. octal & hex).  Conversions
	  now only performed on literals, not on variables during a cast
	  or an auto-cast

	o Fixed off-by-one error in count operator for text strings

	o Fixed regression test results to reflect the current test
	  output

	o Fixed space handling in urlEncode()

	o Fixed problem with string truncation in sub()

	o Fixed problem with handling some C styled comments

	o Fixed core dump when trying to cast an array to a scalar type

	o Fixed off by one error in array literal element length

	o Fixed handling of array indexing in text expansion (e.g. 
	  in echo() strings) when array indexed by a variable value

	o Fixed auto casting for int and uint in printf formats




	Misc
	====

	o Fixed a couple of bugs in the time library for date/time handling

	o Added errno.h to the headers searched in setup when looking for
	  sys_errlist (for NetBSD 1.2)

	o Added stdlib.h to the headers searched in setup when looking for
	  ssize_t (for Irix 6.2)

	o Started total re-working of the documentation kit.

	o Code has been "linted" within and inch of its life (using
	  gcc -Wall)



1  February 1997 	2.0 Beta 4
-----------------------------------

	Lite / W3-mSQL
	==============

	o Added support for Multi-Select form data to W3-mSQL

	o Added typeof() function to Lite standard module

	o Fixed bug in expandText() handling mis-defined symbols

	o Added work-around for the gnu getopt() library

	o Added work-around for the gnu atoi() function

	o Added 'uint' type handling and "%u" to printf()

	o Fixed problem with fuction call arg count on some machines

	o Fixed last character match problem in tr()

	o Fixed a few doco bugs in the mSQL module doc's

	o Fixed up type checking during a cast

	o Fixed a problem if the first element of an array is not a CHAR val

	o Fixed urlEncode problem for the + character


	mSQL
	====

	o Fixed token destruction in error reporting from the parser

	o Fixed documentation example for sequence creation

	o Fixed core dump in mSQL monitor on overly large error results

	o Fixed inaccurate initialisation of ident segments in msqlCreateIdent

	o Added support for MSQL_CONF_FILE environment variable

	o Fixed looping problem in wild-card delete

	o Fixed some _more_ doco bugs

	o Fixed problem with comparison of TEXT fields with NULL

	o Fixed problem with the matchVarChar() function when comparing
	  values with TEXT fields

	o Fixed bug in LIKE and CLIKE for matching multiple % wildcards
	  to an empty string

	o Fixed a possible problem with the static size of the connection
	  array



14  January 1997	2.0 Beta 3
-----------------------------------
	o Fixed problem with new fast offset calculation in rowRead

	o Fixed bugs in table join logic

	o Fixed bug that allowed an update to set a non-unique value
	  for a unique index

	o Completed dynamic loading of module object code in Lite / W3-mSQL

	o Fixed some documentation errors in the HTML manual

	o Fixed non-flushed output in user prompts from msqladmin and msql 

	o Fixed problem with fields being inserted with the NULL flag set

	o Added a 0 exit val to msqldump

	o Fixed some API function prototypes 

	o Added strdup() to the malloc test code (although we don't
	  use the malloc library anymore for in-house code testing)

	o Fixed memory leaks in parser, msqlServerDelete, QUIT processing,
	  join condition lists, and join ident fields.

	o Wrote the mod_graph dynamic loaded graphing module for Lite &
	  W3-mSQL.

	o Added optional W3-auth security.  The file .w3-auth must now
	  be created in the directory containing the requested file to
	  enable W3-auth access control.




6  January 1997		2.0 Beta 2
-----------------------------------
	o Fixed problem with deletion using an index for row selection
	  (reshuffle of dup values in tree node caused getNext to skip
	   a valid entry)

	o Fixed bug in bulk index creation where it was including
	  non-active rows in the newly created index.

	o Added strncasecmp() for SVR4 people (so they can dodge the BSD lib)

	o Fixed bug in the AVL node swapping code wrt dup node lists.

	o Fixed core dump bug when DISTINCT used with an empty result
	  table.

	o Fixed bug in the updating of CHAR fields.

	o Increased listen queue for UNIX socket to 128

	o Fixed bug in updateValues() where by a full field width char
	  value would trash the active flag of the next field (i.e. NULL
	  termination of the string).

	o Fixed param count test in Lite function calling.

	o Increased Lite VM performance by up to 20% by caching stack 
	  frames and other reuseable items.

	o mSQL Server performance increases
	  - Removed some more malloc & bzero overhead 
	  - Added speedup for boxes without hardware multiply (like
	    lots of the early SPARCs).  
	  - The above modifications produced a 20% faster "killer"
	    result on a SPARC without hardware math.

	o Added support for symbolic Macros in modules

	o Started support for dynamic loading shared modules



16 December 1996	2.0 Beta 1
-----------------------------------
	o Initial public beta release of the 2.0 code base.
