1999-01-21  George Reese  <borg@sparta>

	* MsqlPreparedStatement.java: Fixed a small bug in parsing
	prepared SQL that would manifest itself in a few rare circumstances.

	* MsqlDatabaseMetaData.java: Fixed getSQLKeywords() method to
	return the proper value.

1998-11-05  George Reese  <borg@sparta>

	* MsqlTableList.java: Fixed a bug similar to the one listed below
	for MsqlConnection.  Reported by Fernando Lozano.

	* MsqlConnection.java: Fixed a bug where the lazy JDK compiler was
	allowing me to assign a char to a byte even though other compilers
	rightfully complained.  Reported by Fernando Lozano.

	* MsqlResultSet.java: Fixed a bug where column_count was being
	double assigned (it is declared final).  Reported by Fernando
	Lozano. 

1998-10-25  George Reese  <borg@carthage>

	* Raised version number to 1.0b4

	* Classes are now packaged in .jar files.

	* MsqlResultSet.java: Fixed a bug in newer versions of mSQL where
	mSQL was sending empty data for empty strings.  This would cause
	weird behaviour for different situations.

Sat Jan  3 22:20:22 1998  George Reese  <borg@athens>

	* Raised version number to 1.0b3

	* MsqlInputStream.java: Reverted performance changes to their
	earlier state due to a problem with network byte order.

Fri Jan  2 11:49:46 1998  George Reese  <borg@athens>

	* Raised version number to 1.0b2

	* MsqlResultSet.java: Fixed a bug reported by Steve Berglie
	(sberglie@mitre.org) where queries would bugger out when you
	attempted to access columns by name when a query contained two
	columns with the same name but from different tables.  Note that
	retrieving result set values by column name is ALWAYS a bad idea
	(it is extremely slow and was actually left out of the original
	JDBC spec because of it being so bad).

	* MsqlInputStream.java: Boosted size read performance by a factor of 4
	by buffering size reads on incoming mSQL packets.  Patch provided
	by Zsolt Koppany (zkoppany@multix.de).

	* MsqlTableList.java: With support added for multiple encodings,
	all meta-data stuff needs to force 8859_1 since that is mSQL's
	internal encoding.

	* MsqlResultSet.java: Added support for multiple encodings.

	* MsqlOutputStream.java: Added support for multiple encodings.

	* MsqlInputStream.java: Added support for multiple encodings.

	* MsqlConnection.java: Added support for multiple encodings.  The
	driver will now support any *single byte* character encoding,
	including UTF8.  The default encoding is Latin 8859-1.  If you
	wish to specify some other encoding, use the
	DriverManager.getConnection(String jdbc_url, Properties p) version
	of getConnection() and specify the encoding in the 'encoding'
	property.   For example, if you want your database in Unicode, you
	would set your encoding property to 'UTF8'.  See the Unicode.java
	example.

	* MsqlStatement.java: Added support for multiple encodings.  See
	the MsqlConnection entry for more details.

	* MsqlResultSet.java: Fixed Date and Time support in the driver.
	1.0 users can use Dates by storing them in CHAR fields.  The
	driver will automatically handle any conversions.  The CHAR format
	is DD-Mon-YYYY, or '01-Jan-1998'.  1.0 users can alternately store
	the date in a CHAR as a long.  In other words, stored_value =
	date.getTime() + "";

	* MsqlColumn.java: Added supports for newer column types as added
	to MsqlResultSetMetaData.

	* MsqlResultSetMetaData.java: Added support for newer mSQL 2.0
	data types, including DATE, TIME, and MONEY (Types.DOUBLE).

Sat Nov  8 12:34:06 1997  George Reese  <borg@athens>

	* MsqlResultSet.java: COMPAT BUSTER: Fixed a bug in date handling
	reported by Toby Harness (toby@netcom.com).  Because not all
	version of mSQL support the date data type, I currently have in a
	generic kludge that stores dates as char in mSQL, converts them to
	longs, and then to Date objects.  I need to make this smarter so
	that this kludge only exists for mSQL 1.0.x.

Tue Oct 28 00:14:05 1997  George Reese  <borg@athens>

	* Raised version number to 1.0b1
	
	* Moved package .class files into zip file: imaginary.zip 

	* MsqlConnection.java: Added methods to support database meta
	data stuff.

	* MsqlDatabaseMetaData.java: Made some serious modifications to
	get this thing up to par.  It still needs some work before I can
	call this driver 1.0.  The important thing is that now you can get
	some valid meta data, including getTables()!!!.  I am saving
	getColumns() for 1.0b2.

	* MsqlTableList.java: Added this class as a ResultSet for table
	data as returned by DatabaseMetaData.

Mon Oct 27 21:12:31 1997  George Reese  <borg@athens>

	* MsqlConnection.java: getMetaData() now returns a
	ResultSetMetaData instance.
	Fixed a bug where the URL was not getting set in the constructor.

	* MsqlColumn.java: Added support for the TEXT data type.

	* MsqlResultSetMetaData.java: Added support for the TEXT data type.

	* Changed the package name from COM.imaginary.sql.msql to
	com.imaginary.sql.msql in accordance with the new and ever
	whimsical JavaSoft naming standards.

	* MsqlResultSet.java: Changed ISO 8859_9 instances to 8859_1.  See
	MsqlInputStream.java entry for credits.

	* MsqlOutputStream.java: Changed ISO 8859_9 instances to 8859_1.
	See MsqlInputStream.java entry for credits.

	* MsqlInputStream.java: Changed ISO 8859_9 instances to 8859_1 as
	reported by Douglas Bischoff (bish@xanodria.com)

	* MsqlConnection.java: Removed synchronized block in the
	constructor.  I was probably on drugs when I did this.  Very
	scarey, since I don't do drugs.  Silliness reported by Travis Low
	(tlow@mindq.com). 

Thu Aug  7 14:07:59 1997  George Reese  <borg@athens>

	* Raised version number to 1.0a4

	* MsqlEmptyResultSet.java: Added new class to represent empty
	result sets.  Used by the DatabaseMetaData class to represent
	things that mSQL does not really do.

	* MsqlConnection.java: Added support for the full version string
	from mSQL for the DatabaseMetaData class.  Also changed the
	constructor to accept the database URL as the first
	arg. MsqlConnection now supports protocol versions through 23,
	which includes mSQL 2.01

	* MsqlDriver.java: Changed constructor call to MsqlConnection to
	match the new constructor... now passes the database URL to the
	connection. 

	* MsqlDatabaseMetaData.java: Added bare-bones MsqlDatabaseMetaData
	class.  It does almost nothing useful, and many of the return
	values are wrong.  It is meant to at least exist for now.

Mon Jun 30 19:48:59 1997  George Reese  <borg@athens>

	* Raised version number to 1.0a3

	* MsqlResultSet.java: Added patch sent in by Dave Glowacki
	(dglo@SSEC.WISC.EDU) to have result_set.close() wait for the
	reading of the final row.  Fixes a problem where in doing multiple
	queries in quick succession caused a 'Non-query sent to
	executeQuery()' error.

Sun Jun 15 20:15:52 1997  George Reese  <borg@athens>

	* MsqlResultSet.java: Added patches sent in by Dave Glowacki
	(dglo@SSEC.WISC.EDU) to set the data size to 0 on a null column as
	well as do better error handling.

	* MsqlStatement.java: Fixed getUpdateCount() to return -1 when the
	current result is a ResultSet or there are no more results.
	Reported by Greg Whitehead (grw@Casbah.Market.NET)

Sun Apr 20 18:00:01 1997  George Reese  <borg@athens>

	* MsqlColumn.java: Added breaks to each case in the switch() in
	the constructor... everything was falling through of course to the
	last case and the type was always 0 (reported by Somchai Lismiroratana)

Sat Apr 19 09:11:28 1997  George Reese  <borg@athens>

	* Raised version number to 1.0a2
	
	* Fixed a problem with a NumberFormatException being thrown inside
	a call to execute() when no rows were updated (reported by several
	people)

	* Fixed a couple of places where a wait() call was not properly
	looping until the wait condition was met (thanks to Steven Hugg
	<hugg@proxicom.com> for point this one out)

	* Changed MsqlOutputStream and MsqlInputStream to use buffered
	streams (many people suggested this)


Prior changes:
	
v1.0a1
	* Removed the MsqlJava communication layer
	* Rewrote the entire driver to support the following:
	  - mSQL 2.0b5
	  - JDK 1.1
	* The driver class is now COM.imaginary.sql.msql.MsqlDriver
	* The driver now supports connections to random ports.  In other
	  words, it will now connect to the port specified in the JDBC
          URL.  It defaults to port 1114.
	* Now supports ALL getXXX() methods from java.sql.ResultSet
	* Supports dates stored as long and string in the database
	* Special threading to allow for row access while the rows
	  are still being read.

v0.96
	* Updated with respect to JDK 1.1 beta 3

v0.95
	* Updated with respect to the JDK 1.1 beta 2
	* Fixed a problem with getting columns by name

v0.94
	* Updated with respect to JDBC 1.0.1
	* Fixed to allow static loading
	  i.e. - Class.forName("imaginary.sql.iMsqlDriver");

v0.92
	* Updated with respect to JDBC 0.65
		result sets may be retrieved by column name
		Environment is now DriverManager
		moved some stuff from the ResultSet to ResultSetMetaData
	* Updated to MsqlJava 1.1.1
	* Fixed a bug in connect that would connect only with "nobody"
	  as a user id.  It now uses the user id passed to
	  DriverManager.getConnection().
	* Removed the synchronized and final keywords from all methods.
	  multi-threaded applications should concern themselves with
	  locking down at the proper time.

v0.91
	* Updated driver to JDBC 0.54
	* Added support for the ResultSetMetaData interface.

v0.9
	* Original release for JDBC 0.5
