
			    JavaPostgres95 0.4

			      Interim Release

		Copyright (c) 1996 Bradley McLean and Jeff Medeiros
		      Copyright (c) 1997 Peter T Mount
			    All Rights Reserved

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 1, or (at your option)
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

-------------------------------------------------------------------------------

Release 0.4
===========

This release contains some bug fixes over 0.3, and probably introduces some
new ones. I've released this early as one of the major bug's I've been working
on is taking some time to fix.

One addition, a jar archive - postgres95.jar is in the distribution directory.
This contains just the class files for the driver. To install it, simply copy
that file to the location of your choice, and include it in your CLASSPATH.

Hopefully, I'll be able to tackle the documentation problem (ie a lack of them)
as well as some better examples.

CHANGES since 0.3
-----------------

PGDatabaseMetaData
	getTables()	rewritten.

	getCatalogs()	was throwing SQLException every time it
			was called. Fixed by adding a few spaces into the
			query.

	getColumns()	was rewritten to return a meaningful value
			in the DATA_TYPE column, instead of just 19.

	getPrimaryKeys() moved comments out of the query, they were
			 interfering with it.

	SQLType()	This is a new function added to assist getColumns().
			** Please take a look at the source to this function **
			If you dissagree with the mappings here, or have any
			ideas for more, please email me.

PGDriver
			Corrected how the driver is loaded. Now, you only need
			to use Class.forName("postgres95.PGDriver") and not
			Class.forName("postgres95.PGDriver").newInstance().

			The driver now returns a version of 1.1 This was to
			coincide in the real version numbers (I don't like
			reversing version numbers) of the driver. I'm leaving
			this in until 1.1 is out.

PGPreparedStatement

			Added some TimeStamp support provided by Thorsten.

PGResultSet

			Theres too many to mention here. I've made a lot of
			tidying up in here, and fixed a few problems.

			Thorsten has supplied some code to support TimeStamps.

			Any ideas on how to stop this class loading the entire
			result set in one go would be welcome.

PGResultSetMetaData

	getColumnTypeName	This was returning the postgres type, and not
				the standard sql type.

	SQLTypeName	helper method for getColumnTypeName(). It translates
			from postgres id to standard sql names.

PGStatement

			commented out a debug line

Some of the fixes were supplied by the following:
	E.Mergl@bawue.de,	heyl@nads.de, 
	pdgsvoeu@ford.com,	thorsten.greiner@consol.de,

If I missed anyone out, my apologies.

HELP REQUIRED
-------------

I could do with some help on the following areas:

	Large Objects	How do you handle large objects in JDBC?

	Arrays		Postgres supports arrays in a column. How do we
			handle them?

	PGResultSet	Any help on rewriting how we retrieve data from the
			backend would be helpful. Currently the driver fetches
			the _ENTIRE_ result into a Vector, before returning
			to the caller. This is what's causing the driver to
			be slow, and generates some out of Memory exceptions
			when handling large queries.

	Bugs		Obviously if you find any bugs, and fix them, please
			send the source to me so I can include them.

Again thanks for the help sofar.

Peter Mount <pmount@maidast.demon.co.uk> June 18 1997

Please send any email about the driver to postgres@maidast.demon.co.uk

-------------------------------------------------------------------------------

Release 0.3
===========

This release is purely an update to the JDK 1.1 API. As such, it will not work
with pre 1.1 Virtual Machines.

As with 0.2, it does implement a useful subset of the JDBC 1.10 specification
- in particular, enough to do basic table manipulation over Postgres95.

REQUIREMENTS

You will need to be using the JDK 1.1 or later, and obviously Postgres95 or
PostgreSQL (the latter being the successor to PostgreSQL).

For Java in general, refer to http://www.javasoft.com
or for Java running on Linux go to http://www.blackdown.org/java-linux.html

PostgreSQL can be found at http://www.postgresql.org

The latest version of this driver and documentation will be available on my
web site: http://www.demon.co.uk/finder/postgres

INSTALLATION

Obviously, you've unpacked the archive.

Either move the postgres95 directory into your classpath, or add it's current
location to the classpath.

That's basically it.

You can test your installation by modifying the jptest*.java programs
to reflect your Postgres95 database and usernames, creating the
weather class specified in the Postgres95 documentation, compiling and
running the programs.

NOTES

 - Although Postgres95 is now called PostgreSQL, I haven't changed the
   package name to maintain compatibility with existing code.

 - RTFM! - Well to be polite, read the documentation that's included with
   the driver (Also available online). I'll guarantee you will need to read
   them, especially when you try to get Java applications to run over a
   network to a PostgreSQL server :-)

TO DO

 - Much of the meta information is an untested hackjob.

 - Cursor support is cursory.

 - This is not precisely excellent documentation.

 - It isn't *really* JDBC compliant, for a host of reasons.

SUMMARY

As Brad wrote in the 0.2 README:-
"I regret that I will not be able to provide extensive support for this
package, but I will integrate bug fixes, improvements and DOCUMENTATION
that I receive."

I can't provide extensive support for it either. However, it won't hurt
sending me an email if you have any problems, just don't expect an instant
response.

If you find (or even fix) any bugs, or find ways of improving them, PLEASE
send them to me so that I can keep the driver as up to date as possible.

Documentation will also be useful. And a copy will be on the web at the
following URL: http://www.demon.co.uk/finder/postgres

As always, THIS SOFTWARE IS SUPPLIED COMPLETELY "AS IS".  NO WARRANTY...

Peter T Mount
April 12 1997

email:	pmount@maidast.demon.co.uk
  WWW:	http://www.demon.co.uk/finder
Pager:	http://www.demon.co.uk/finder/misc/sms.html
