From 2066f2c32ae417dd919cf0f0e3edcf2d39018e98 Mon Sep 17 00:00:00 2001 From: darcy Date: Thu, 1 Jan 2009 13:21:44 +0000 Subject: Upgrade to 4.0. This is a major release and may risk some backwards incompatibilities. Here are the major changes. - Dropped support for Python below 2.3 and PostgreSQL below 7.4. - Improved performance of fetchall() for large result sets by speeding up the type casts (as suggested by Peter Schuller). - Exposed exceptions as attributes of the connection object. - Exposed connection as attribute of the cursor object. - Cursors now support the iteration protocol. - Added new method to get parameter settings. - Added customizable row_factory as suggested by Simon Pamies. - Separated between mandatory and additional type objects. - Added keyword args to insert, update and delete methods. - Added exception handling for direct copy. - Release the GIL while making a connection (as suggested by Peter Schuller). - If available, use decimal.Decimal for numeric types. - Allow DB wrapper to be used with DB-API 2 connections (as suggested by Chris Hilton). - Made private attributes of DB wrapper accessible. - Dropped dependence on mx.DateTime module. - Support for PQescapeStringConn() and PQescapeByteaConn(); these are now also used by the internal _quote() functions. - Added 'int8' to INTEGER types. New SMALLINT type. - Added a way to find the number of rows affected by a query() with the classic pg module by returning it as a string. For single inserts, query() still returns the oid as an integer. The pgdb module already provides the "rowcount" cursor attribute for the same purpose. - Improved getnotify() by calling PQconsumeInput() instead of submitting an empty command. - Removed compatibility code for old OID munging style. - The insert() and update() methods now use the "returning" clause if possible to get all changed values, and they also check in advance whether a subsequent select is possible, so that ongoing transactions won't break if there is no select privilege. - Added "protocol_version" and "server_version" attributes. - Revived the "user" attribute. - The pg module now works correctly with composite primary keys; these are represented as frozensets. - Removed the undocumented and actually unnecessary "view" parameter from the get() method. - get() raises a nicer ProgrammingError instead of a KeyError if no primary key was found. - delete() now also works based on the primary key if no oid available and returns whether the row existed or not. --- databases/py-postgresql/Makefile | 12 ++++++------ databases/py-postgresql/distinfo | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'databases/py-postgresql') diff --git a/databases/py-postgresql/Makefile b/databases/py-postgresql/Makefile index fef69ff27ad..cb249e209f9 100644 --- a/databases/py-postgresql/Makefile +++ b/databases/py-postgresql/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.53 2008/06/12 02:14:20 joerg Exp $ +# $NetBSD: Makefile,v 1.54 2009/01/01 13:21:44 darcy Exp $ -DISTNAME= PyGreSQL-3.8.1 -PKGNAME= ${PYPKGPREFIX}-postgresql-3.8.1 -PKGREVISION= 2 +DISTNAME= PyGreSQL-4.0 +PKGNAME= ${PYPKGPREFIX}-postgresql-4.0 CATEGORIES= databases python MASTER_SITES= ftp://ftp.druid.net/pub/distrib/ EXTRACT_SUFX= .tgz @@ -13,8 +12,8 @@ COMMENT= Python interface to PostgreSQL PKG_DESTDIR_SUPPORT= user-destdir -MAKE_ENV+= MANDIR=${LOCALBASE}/man -MAKE_ENV+= BINDIR=${LOCALBASE}/bin +MAKE_ENV+= MANDIR=${PREFIX}/${PKGMANDIR} +MAKE_ENV+= BINDIR=${PREFIX}/bin USE_TOOLS+= gmake MAKE_FILE= GNUmakefile @@ -22,6 +21,7 @@ MAKE_ENV+= INSTALLED_LIBPQ=1 PY_PATCHPLIST= yes PLIST_SUBST+= PYPKGPREFIX=${PYPKGPREFIX:Q} +PYTHON_VERSIONS_ACCEPTED= 26 25 24 23 PYDISTUTILSPKG= yes PYBINMODULE= yes diff --git a/databases/py-postgresql/distinfo b/databases/py-postgresql/distinfo index 2c7a5d5bbeb..461ad5d5ad2 100644 --- a/databases/py-postgresql/distinfo +++ b/databases/py-postgresql/distinfo @@ -1,5 +1,5 @@ -$NetBSD: distinfo,v 1.13 2006/06/11 00:58:39 darcy Exp $ +$NetBSD: distinfo,v 1.14 2009/01/01 13:21:44 darcy Exp $ -SHA1 (PyGreSQL-3.8.1.tgz) = 341d14beb99e88f779657db3ce146b41c897f975 -RMD160 (PyGreSQL-3.8.1.tgz) = 67945cb75dd0fbad4c1dac2e606e10f6cdde7002 -Size (PyGreSQL-3.8.1.tgz) = 81186 bytes +SHA1 (PyGreSQL-4.0.tgz) = faeb31b6c8d62bf56cad00ff8fbeb7426623422b +RMD160 (PyGreSQL-4.0.tgz) = 633364ddaa01166db201754e005067d211591864 +Size (PyGreSQL-4.0.tgz) = 89528 bytes -- cgit v1.2.3