
Announce: Release of PyGreSQL version 3.0
===============================================

PyGreSQL v3.0 has been released.
It is available at: ftp://ftp.druid.net/pub/distrib/PyGreSQL.tgz.  If
you are running NetBSD, look in the packages directory under databases.
There is also a package in the FreeBSD ports collection.              

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.

This release of PyGreSQL is the first DB-SIG API.  That's why we have
a bump in the major number.  There is also a potential problem in
backwards compatibility.  Previously when there was a NULL in a returned
field it was returned as a blank.  Now it is more properly returned as
a Python None.  Any scripts that expect NULLs to be blanks will have
problems with this.

Due to the fact that the DB-API is brand new, it is expected that there
will be a 3.1 release shortly with corrections once many people have
had a chance to test it.

See the other changes below or in the Changelog file.

PyGreSQL 2.0 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.
The latest version of PyGreSQL works with Python 1.5.2 and PostgreSQL 6.5.

Important changes from PyGreSQL 2.4 to PyGreSQL 3.0:
  - Remove strlen() call from pglarge_write() and get size from object.
    (Richard@Bouska.cz)
  - Add a little more error checking to the quote function in the wrapper
  - Add extra checking in _quote function
  - Wrap query in pg.py for debugging
  - Add DB-API 2.0 support to pgmodule.c (andre@via.ecp.fr)
  - Add DB-API 2.0 wrapper pgdb.py (andre@via.ecp.fr)
  - Correct keyword clash (temp) in tutorial
  - Clean up layout of tutorial
  - Return NULL values as None (rlawrence@lastfoot.com) (WARNING: This
    will cause backwards compatibility issues.)
  - Change None to NULL in insert and update
  - Change hash-bang lines to use /usr/bin/env
  - Clearing date should be blank (NULL) not TODAY
  - Quote backslashes in strings in _quote (brian@CSUA.Berkeley.EDU)
  - Expanded and clarified build instructions (tbryan@starship.python.net)
  - Make code thread safe (Jerome.Alet@unice.fr)
  - Add README.distutils (mwa@gate.net & jeremy@cnri.reston.va.us)
  - Many fixes by chifungfan@yahoo.com, tony@printra.net, jeremy@alum.mit.edu
    and others to get the final version ready to release.

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 bug 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)
  - Get method works with views if key specified

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|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.

Tue, 30 May 2000 22:23:27 -0400 (EDT)
darcy@druid.net (D'Arcy J.M. Cain)
Announce: Release of PyGreSQL version 3.0
I have installed this in the current source tree, ready for 7.1.

I have installed > 
> Announce: Release of PyGreSQL version 3.0
> ===============================================
> 
> PyGreSQL v3.0 has been released.
> It is available at: ftp://ftp.druid.net/pub/distrib/PyGreSQL.tgz.  If
> you are running NetBSD, look in the packages directory under databases.
> There is also a package in the FreeBSD ports collection.              
> 
> 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.
> 
> This release of PyGreSQL is the first DB-SIG API.  That's why we have
> a bump in the major number.  There is also a potential problem in
> backwards compatibility.  Previously when there was a NULL in a returned
> field it was returned as a blank.  Now it is more properly returned as
> a Python None.  Any scripts that expect NULLs to be blanks will have
> problems with this.
> 
> Due to the fact that the DB-API is brand new, it is expected that there
> will be a 3.1 release shortly with corrections once many people have
> had a chance to test it.
> 
> See the other changes below or in the Changelog file.
> 
> PyGreSQL 2.0 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.
> The latest version of PyGreSQL works with Python 1.5.2 and PostgreSQL 6.5.
> 
> Important changes from PyGreSQL 2.4 to PyGreSQL 3.0:
>   - Remove strlen() call from pglarge_write() and get size from object.
>     (Richard@Bouska.cz)
>   - Add a little more error checking to the quote function in the wrapper
>   - Add extra checking in _quote function
>   - Wrap query in pg.py for debugging
>   - Add DB-API 2.0 support to pgmodule.c (andre@via.ecp.fr)
>   - Add DB-API 2.0 wrapper pgdb.py (andre@via.ecp.fr)
>   - Correct keyword clash (temp) in tutorial
>   - Clean up layout of tutorial
>   - Return NULL values as None (rlawrence@lastfoot.com) (WARNING: This
>     will cause backwards compatibility issues.)
>   - Change None to NULL in insert and update
>   - Change hash-bang lines to use /usr/bin/env
>   - Clearing date should be blank (NULL) not TODAY
>   - Quote backslashes in strings in _quote (brian@CSUA.Berkeley.EDU)
>   - Expanded and clarified build instructions (tbryan@starship.python.net)
>   - Make code thread safe (Jerome.Alet@unice.fr)
>   - Add README.distutils (mwa@gate.net & jeremy@cnri.reston.va.us)
>   - Many fixes by chifungfan@yahoo.com, tony@printra.net, jeremy@alum.mit.edu
>     and others to get the final version ready to release.
> 
> 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 bug 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)
>   - Get method works with views if key specified
> 
> 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|vex}.net>   |  Democracy is three wolves
> http://www.druid.net/darcy/                |  and a sheep voting on
> +1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
> 


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Sun, 1 Oct 2000 23:25:45 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0
Hi!
Where can I find the documentation of Postgres's compiler and optimizer?
who has anything about this subject?
Ricardo
ritimar@univalle.edu.co


Thu, 5 Oct 2000 08:50:03 +0500 (GMT)
Ricardo Timaran <ritimar@borabora.univalle.edu.co>
Documentation about compiler Postgres
Thus spake Bruce Momjian
> I have installed this in the current source tree, ready for 7.1.
> 
> I have installed > 
> > Announce: Release of PyGreSQL version 3.0

When is 7.1 being locked down?  I may be releasing 3.1 with a few small
fixes and changes very soon.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.

Thu, 5 Oct 2000 08:13:17 -0400 (EDT)
darcy@druid.net (D'Arcy J.M. Cain)
Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0
darcy@druid.net (D'Arcy J.M. Cain) writes:
> When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> fixes and changes very soon.

You've probably got about 2 weeks before beta starts.  Bug fixes are
accepted during beta freeze, of course --- just no new-feature
development.

			regards, tom lane

Thu, 05 Oct 2000 09:59:53 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0 
November 1.

> Thus spake Bruce Momjian
> > I have installed this in the current source tree, ready for 7.1.
> > 
> > I have installed > 
> > > Announce: Release of PyGreSQL version 3.0
> 
> When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> fixes and changes very soon.
> 
> -- 
> D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
> http://www.druid.net/darcy/                |  and a sheep voting on
> +1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
> 


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Thu, 5 Oct 2000 10:28:12 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0
On Thu, 5 Oct 2000, Tom Lane wrote:

> darcy@druid.net (D'Arcy J.M. Cain) writes:
> > When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> > fixes and changes very soon.
> 
> You've probably got about 2 weeks before beta starts.  Bug fixes are
> accepted during beta freeze, of course --- just no new-feature
> development.

how are we dealing with third party software like this though?  Stuff like
PyGreSQL and PGAccess should be "at the authors discretion", no?  As they
don't interfere with the core functionality and build of the system?



Sat, 7 Oct 2000 21:13:47 -0300 (ADT)
The Hermit Hacker <scrappy@hub.org>
Re: Re: [ANNOUNCE] Announce: Release of PyGreSQL version
 3.0
The Hermit Hacker <scrappy@hub.org> writes:
> On Thu, 5 Oct 2000, Tom Lane wrote:
>> darcy@druid.net (D'Arcy J.M. Cain) writes:
>>>> When is 7.1 being locked down?  I may be releasing 3.1 with a few small
>>>> fixes and changes very soon.
>> 
>> You've probably got about 2 weeks before beta starts.  Bug fixes are
>> accepted during beta freeze, of course --- just no new-feature
>> development.

> how are we dealing with third party software like this though?  Stuff like
> PyGreSQL and PGAccess should be "at the authors discretion", no?  As they
> don't interfere with the core functionality and build of the system?

Well, a third party author always has the option to release his code
separately on whatever timeline seems good to him.  But I think that for
third-party code included in the distribution, the same standards ought
to apply as for the Postgres code itself: we don't want people sticking
alpha-quality code into a Postgres release tarball, whether it's core
functionality or not.  It's not as if "no new features for a month" is
a particularly onerous standard to meet ;-)

			regards, tom lane

Sat, 07 Oct 2000 23:38:32 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0 
On Sat, 7 Oct 2000, Tom Lane wrote:

> The Hermit Hacker <scrappy@hub.org> writes:
> > On Thu, 5 Oct 2000, Tom Lane wrote:
> >> darcy@druid.net (D'Arcy J.M. Cain) writes:
> >>>> When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> >>>> fixes and changes very soon.
> >> 
> >> You've probably got about 2 weeks before beta starts.  Bug fixes are
> >> accepted during beta freeze, of course --- just no new-feature
> >> development.
> 
> > how are we dealing with third party software like this though?  Stuff like
> > PyGreSQL and PGAccess should be "at the authors discretion", no?  As they
> > don't interfere with the core functionality and build of the system?
> 
> Well, a third party author always has the option to release his code
> separately on whatever timeline seems good to him.  But I think that for
> third-party code included in the distribution, the same standards ought
> to apply as for the Postgres code itself: we don't want people sticking
> alpha-quality code into a Postgres release tarball, whether it's core
> functionality or not.  It's not as if "no new features for a month" is
> a particularly onerous standard to meet ;-)

agreed about the alpha quality, but if someone like D'Arcy or Constantin
releases a new version of their code, is there any reason to hold off on
bringing that in?  Haven't we done that in the past with pgaccess as it
is?  I seem to recall Bruce bringing in a new release of PgAccess close to
the release, but am not 100% certain of this ...



Sat, 7 Oct 2000 23:55:09 -0400 (EDT)
"Marc G. Fournier" <scrappy@hub.org>
Re: Re: [ANNOUNCE] Announce: Release of PyGreSQL version
 3.0
> > Well, a third party author always has the option to release his code
> > separately on whatever timeline seems good to him.  But I think that for
> > third-party code included in the distribution, the same standards ought
> > to apply as for the Postgres code itself: we don't want people sticking
> > alpha-quality code into a Postgres release tarball, whether it's core
> > functionality or not.  It's not as if "no new features for a month" is
> > a particularly onerous standard to meet ;-)
> 
> agreed about the alpha quality, but if someone like D'Arcy or Constantin
> releases a new version of their code, is there any reason to hold off on
> bringing that in?  Haven't we done that in the past with pgaccess as it
> is?  I seem to recall Bruce bringing in a new release of PgAccess close to
> the release, but am not 100% certain of this ...

Yes, that is true.  I don't have a problem with 3rd party stuff that
does not install by default.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Sun, 8 Oct 2000 00:02:00 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0
On Thu, 5 Oct 2000, D'Arcy J.M. Cain wrote:

> Thus spake Bruce Momjian
> > I have installed this in the current source tree, ready for 7.1.
> > 
> > I have installed > 
> > > Announce: Release of PyGreSQL version 3.0
> 
> When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> fixes and changes very soon.

you should be safe until mid-december or so ... as PyGreSQL doesn't affect
the build of PostgreSQL in anyway that I'm aware of, there is no reason
why you should be constrained to our beta cycle ... 



Mon, 9 Oct 2000 20:14:29 -0300 (ADT)
The Hermit Hacker <scrappy@hub.org>
Re: [PATCHES] Re: [ANNOUNCE] Announce: Release of PyGreSQL version
 3.0
> Thus spake Bruce Momjian
> > I have installed this in the current source tree, ready for 7.1.
> > 
> > I have installed > 
> > > Announce: Release of PyGreSQL version 3.0
> 
> When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> fixes and changes very soon.

You have until November 1, at least.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Mon, 9 Oct 2000 19:16:53 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: [PATCHES] Re: [ANNOUNCE] Announce: Release of PyGreSQL version
 3.0
The Hermit Hacker writes:

> > > > Announce: Release of PyGreSQL version 3.0
> > 
> > When is 7.1 being locked down?  I may be releasing 3.1 with a few small
> > fixes and changes very soon.
> 
> you should be safe until mid-december or so ... as PyGreSQL doesn't affect
> the build of PostgreSQL in anyway that I'm aware of, there is no reason
> why you should be constrained to our beta cycle ... 

If you configure --with-python, then it will, so it would be advantageous
to get it in with/before beta.

-- 
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/


Tue, 10 Oct 2000 17:52:01 +0200 (CEST)
Peter Eisentraut <peter_e@gmx.net>
Re: [PATCHES] Re: [ANNOUNCE] Announce: Release of PyGreSQL version
 3.0
On Thu, 5 Oct 2000, Ricardo Timaran wrote:

> Hi!
> Where can I find the documentation of Postgres's compiler and optimizer?
> who has anything about this subject?
> Ricardo
> ritimar@univalle.edu.co
> 
> 


Wed, 18 Oct 2000 16:36:50 +0500 (GMT)
Timaran Ricardo <ritimar@borabora.univalle.edu.co>
Re: Documentation about compiler Postgres