pyPgSQL 2.4 released

From: "Billy G(dot) Allie" <bill(dot)allie(at)mug(dot)org>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: pyPgSQL 2.4 released
Date: 2003-07-27 02:37:06
Message-ID: 3F233AD2.9050504@mug.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Announce: pyPgSQL - Version 2.4 is released.
===========================================================================

pyPgSQL v2.4 has been released.

It is available at http://pypgsql.sourceforge.net.

pyPgSQL is a package of two (2) modules that provide a Python DB-API 2.0
compliant interface to PostgreSQL databases. The first module, libpq, is
written in C and exports the PostgreSQL C API to Python. The second module,
PgSQL, provides the DB-API 2.0 compliant interface and support for various
PostgreSQL data types, such as INT8, NUMERIC, MONEY, BOOL, ARRAYS, etc. This
module is written in Python and works with PostgreSQL 7.0 or later and Python
2.0 or later.

It was tested with PostgreSQL 7.0.3, 7.1.3, 7.2.2, 7.3, Python 2.0.1, 2.1.3
and 2.2.2.

Note: It is highly recommended that you use PostgreSQL 7.2 or later and
Python 2.1 or later. If you want to use PostgreSQL Large Objects
under Python 2.2.x, you *must* use Python 2.2.2, or later because of
a bug in earlier 2.2 versions.

Project homepages:
pyPgSQL: http://pypgsql.sourceforge.net/
PostgreSQL: http://www.postgresql.org/
Python: http://www.python.org/

---------------------------------------------------------------------------
ChangeLog:
===========================================================================

Changes since pyPgSQL Version 2.3
=================================

=-=-=-=-=-=-=-=-=-=-=-=-=- ** IMPORTANT NOTE ** =-=-=-=-=-=-=-=-=-=-=-=-=-=
NOTE: There is a change to the Connection.binary() function that *could*
cause existing code to break. Connection.binary() no longer commits
the transaction used to create the large object. The application
developer is now responsible for commiting (or rolling back) the
transaction.
-=-=-=-=-=-=-=-=-=-=-=-=-= ** IMPORTANT NOTE ** -=-=-=-=-=-=-=-=-=-=-=-=-=-

Changes to README
-----------------
* Updates for 2.4.

Changes to PgSQL.py
-------------------
* Applied patch from Laurent Pinchart to allow _quote to correctly process
objects that are sub-classed from String and Long types.
* Change the name of the quoting function back to _quote. Variables named
like __*__ should be restrict to system names.
* PgTypes is now hashable. repr() of a PgType will now return the repr()
of the underlying OID.
* Connection.binary() will now fail if autocommit is enabled.
* Connection.binary() will no longer commit the transaction after creating
the large object. The application developer is now responsible for
commiting (or for rolling back) the transaction [Bug #747525].
* Added PG_TIMETZ to the mix [Patch #708013].
* Pg_Money will now accept a string as a parameter.
* PostgreSQL int2, int, int4 will now be cast into Python ints. Int8 will
be cast into a Python long. Float4, float8, and money types will be
cast into a Python float.
* Correct problem with the PgNumeric.__radd__ method. [Bug #694358]
* Correct problem with conversion of negitive integers (with a given scale
and precision) to PgNumerics. [Bug #694358]
* Work around a problem where the precision and scale of a query result
can be different from the first result in the result set. [Bug #697221]
* Change the code so that the display length in the cursor.description
attribute is always None instead of '-1'.
* Fixed another problem with interval <-> DateTimeDelta casting.
* Corrected a problem that caused the close of a portal (ie. PostgreSQL
cursor) to fail.
* Corrected a problem with interval <-> DateTimeDelta casting. [Bug #653044]
* Corrected problem found by Adam Buraczewski in the __setupTransaction
function.
* Allow both 'e' and 'E' to signify an exponent in the PgNumeric constructor.
* Correct some problems that were missed in yesterday's fixes (Thanks,
Adam, for the help with the problems)

Changes to libpqmodule.c
------------------------
* On win32, we usually statically link against libpq. Because of
fortunate circumstances, a problem didn't show up until now: we need to
call WSAStartup() to initialize the socket stuff from Windows *in our
module* in order for the statically linked libpq to work. I just took
the relevant DllMain function from the libpq sources and put it here.
* Modified some comments to reflect reality.
* Applied patch from Laurent Pinchart: In libPQquoteString, bytea are
quoted using as much as 5 bytes per input byte (0x00 is quoted '\\000'),
so allocating (slen * 4) + 3 is not enough for data that contain lots of
0x00 bytes.
* Added PG_TIMETZ to the mix [Patch #708013].

Changes to pgboolean.c
----------------------
* Change the name of the quoting function back to _quote. __*__ type
names should be restricted to system names.

Changes to pgconnection.c
-------------------------
* Applied patch by Laurent Pinchart to correct a problem lo_import,
lo_export, lo_unlink.
* In case PQgetResult returns NULL, let libPQgetResult return a Python
None, like the docstring says. This is necessary in order to be able
to cancel queries, as after cancelling a query with PQrequestCancel,
we need to read results until PQgetResult returns NULL.

Changes to pglargeobject.c
--------------------------
* Change the name of the quoting function back to _quote. __*__ type
names should be restricted to system names.

Changes to pgnotify.c
---------------------
* Fixed a bug in the code. The code in question use to work, but doesn't
anymore (possible change to libpq?).

--
___________________________________________________________________________
____ | Billy G. Allie | Domain....: Bill(dot)Allie(at)mug(dot)org
| /| | 7436 Hartwell | MSN.......: B_G_Allie(at)email(dot)msn(dot)com
|-/-|----- | Dearborn, MI 48126|
|/ |LLIE | (313) 582-1540 |

Browse pgsql-interfaces by date

  From Date Subject
Next Message sundaresan raman 2003-07-31 08:55:18 help
Previous Message Tomas Bujak 2003-07-27 01:55:15 GUI (specific frontend) for Postgres on a PDA -GTK or Tcl/Tk?