Release 0.1.4 1997-09-09

Added Support for the following types
	float -- from  Mitch Chapman <mchapman@OhioEE.com>
	decimal -- me (I had to do something in this release :-) )

Added a connect patch from  Giles Francis Hall <ghall@interaccess.com>

  
	I just thought you might want to have this small piece of code which 
	traps an connect() error.  I was wondering what was happening with 
	my programs when they the SQL server was down yet things seemed to 
	go happily along their way returning empty data sets ;) ...
	  
	*****
	  
	if(!(mysql_connect(&newhandle, dbname, dbuser, dbpass))) {
	  PyErr_SetString(mySQLError, "connect(): could not connect to MySQL");
	  return NULL;
	}
  
Added Support for the python dbi standard from 
James Henstridge <james@daa.com.au>

These modifications by James Henstridge <james@daa.com.au>:
This release adds an extra object called a querycursor.

The querycursor object is used to look at a large result from a query.
It doesn't convert the complete result to a list, only converting the
sections asked for.  They are created as a result from the querycursor
function.
  ie  curs = connection.querycursor('select * from table')

These objects have the following methods:
  fields()       -- Similar output to connection.listfields().
  insert_id()    -- Returns the insert ID of the query.
  fetchall()     -- Fetch a list of all the remaining records.
  fetchone()     -- Fetch the next record.
  fetchmany(num) -- Fetch a list of at most num records.
  seek(pos)      -- set the cursor position in the result.
  eof()          -- returns true if there are no more records.
  numrows()      -- returns the number of rows in the result.
  numfields()    -- returns the number of fields in the result.
  affectedrows() -- returns the number of affected rows.  -1 for select
                    queries

If the query doesn't return a result, all but the last method will raise
an exception.

As a change to the behavior of the old functions, instead of not returning
`unhandled' field values, they are returned as strings, in the hope that
the python programmer will be able to find some sensible way of using them.

Also included in this distribution is mysqldb.py, which is a Python DB API
compliant interface to MySQL databases, written as a frontend to mySQLmodule.
Mysqldb should be used for new programs, since it makes them more portable
across different databases.  More information on this specification can be
found at http://www.python.org/sigs/db-sig/DatabaseAPI.html

An example module mysqlshelve is included which uses mysqldb to implement an
object similar to Shelf, which stores the information in a MySQL table.


Release 0.1.3 1997-04-23

This code has been tested on a linux box using linux 2.1.55 libc6 
and mysql 3.20.29

Bug Fixes
	Fixes for my silly typos in timedate handling provided by  
	Karsten Thygesen <karthy@kom.auc.dk>

New commands 

	It includes the following new functionality.

	create(db_name)         create a new database
	drop(db_name)           drop a database
	reload()                reload the mysql tables
	shutdown()              shutdown mysql


Release 0.1.2 1997-04-03

New In this Release
	
Support for new mysql types
	varchar
	blobs
	time 
	date 
	timedate
	timestamp

Support for Username and Passwords

	authentification is handled as part of the connect option

	ie 

		import mySQL

		db = mySQL.connect(<OPTIONS>)

	where options can be either
	   nothing                       -- connect()
	   hostname                      -- connect('localhost')
	   hostname, username            -- connect('localhost', 'fred')
	   hostname, username, password  -- connect('localhost, 'fred','green')

IMPORTANT
	The support for date and time will not work with earlier versions of
	mysql which did not support these functions.  Therefore these may be 
	disabled by changing the #define 
		#define INCLUDE_DATE_TIME_SUPPORT 1
	to
		#undef INCLUDE_DATE_TIME_SUPPORT


	at the top the file.
