
Announce: Release of PyGreSQL version 2.4
===============================================

PyGreSQL v2.4 has been released.
It is available at: ftp://ftp.druid.net/pub/distrib/PyGreSQL.tgz.  If
you are on NetBSD, look in the packages directory under databases.  If
it isn't there yet, it should be there shortly.  You can also pick up the
package files from ftp://ftp.druid.net/pub/distrib/pygresql.pkg.tgz.
There is also a package in the FreeBSD ports collection but as I write
this it is at version 2.1.  I will try to get that updated as well.

PostgreSQL is a database system derived from Postgres4.2. It conforms
to (most of) ANSI SQL and offers many interesting capabilities (C
dynamic linking for functions or type definition, etc.). This package
is copyright by the Regents of the University of California, and is
freely distributable.

Python is an interpreted programming language. It is object oriented,
simple to use (light syntax, simple and straightforward statements), and
has many extensions for building GUIs, interfacing with WWW, etc.  An
intelligent web  browser (HotJava like) is currently under development
(November 1995), and this should open programmers many doors. Python is
copyrighted by Stichting S Mathematisch Centrum, Amsterdam, The
Netherlands, and is freely distributable.

PyGreSQL is a python module that interfaces to a PostgreSQL database. It
embeds the PostgreSQL query library to allow easy use of the powerful
PostgreSQL features from a Python script.

I wanted to have DB-SIG API support in the next release but there are
enough fixes and improvements to make one more release before starting
on that.  The next version will be 3.0 and have the DB-SIG API support.
Note that I said this for 2.4 but some required changes from others have
been slow in coming (I'm not complaining, people do have lives) and
there were enough fixes that I didn't want to keep them from a release.

PyGreSQL 2.3 was developed and tested on a NetBSD 1.3_BETA system.  It
is based on the PyGres95 code written by Pascal Andre,
andre@chimay.via.ecp.fr.  I changed the version to 2.0 and updated the
code for Python 1.5 and PostgreSQL 6.2.1.  While I was at it I upgraded
the code to use full ANSI style prototypes and changed the order of
arguments to connect.  Later versions are fixes and enhancements to that.

Important changes from PyGreSQL 2.3 to PyGreSQL 2.4:
  - Insert returns None if the user doesn't have select permissions
    on the table.  It can (and does) happen that one has insert but
    not select permissions on a table.
  - Added ntuples() method to query object (brit@druid.net)
  - Corrected a bug related to getresult() and the money type
  - Corrected a but related to negative money amounts
  - Allow update based on primary key if munged oid not available and
    table has a primary key
  - Add many __doc__ strings. (andre@via.ecp.fr)

Important changes from PyGreSQL 2.2 to PyGreSQL 2.3:
  - connect.host returns "localhost" when connected to Unix socket
    (torppa@tuhnu.cutery.fi)
  - Use PyArg_ParseTupleAndKeywords in connect() (torppa@tuhnu.cutery.fi)
  - fixes and cleanups (torppa@tuhnu.cutery.fi)
  - Fixed memory leak in dictresult() (terekhov@emc.com)
  - Deprecated pgext.py - functionality now in pg.py
  - More cleanups to the tutorial
  - Added fileno() method - terekhov@emc.com (Mikhail Terekhov)
  - added money type to quoting function
  - Compiles cleanly with more warnings turned on
  - Returns PostgreSQL error message on error
  - Init accepts keywords (Jarkko Torppa)
  - Convenience functions can be overridden (Jarkko Torppa)
  - added close() method

Important changes from PyGreSQL 2.1 to PyGreSQL 2.2:
  - Added user and password support thanks to Ng Pheng Siong <ngps@post1.com>
  - Insert queries return the inserted oid
  - Add new pg wrapper (C module renamed to _pg)
  - Wrapped database connection in a class.
  - Cleaned up some of the tutorial.  (More work needed.)
  - Added version and __version__.  Thanks to thilo@eevolute.com for
    the suggestion.

Important changes from PyGreSQL 2.0 to PyGreSQL 2.1:
  - return fields as proper Python objects for field type
  - Cleaned up pgext.py
  - Added dictresult method

Important changes from Pygres95 1.0b to PyGreSQL 2.0:
  - Updated code for PostgreSQL 6.2.1 and Python 1.5.
  - Reformatted code and converted to ANSI .
  - Changed name to PyGreSQL (from PyGres95.)
  - Changed order of arguments to connect function.
  - Created new type pgqueryobject and moved certain methods to it.
  - Added a print function for pgqueryobject
  - Various code changes - mostly stylistic.

For more information about each package, please have a look to their
web pages:
  - Python :     http://www.python.org/
  - PostgreSQL : http://www.PostgreSQL.org/
  - PyGreSQL :   http://www.druid.net/pygresql/


D'Arcy J.M. Cain
darcy@druid.net


