From: Gerhard H?r. <gha...@us...> - 2002-10-27 05:18:02
|
Update of /cvsroot/pypgsql/pypgsql In directory usw-pr-cvs1:/tmp/cvs-serv8711 Modified Files: Announce Log Message: 27OCT2002 gh Wrote the announcement for 2.3 beta 1. Index: Announce =================================================================== RCS file: /cvsroot/pypgsql/pypgsql/Announce,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** Announce 8 Sep 2002 16:17:51 -0000 1.18 --- Announce 27 Oct 2002 05:10:43 -0000 1.19 *************** *** 1,37 **** ! Announce: pyPgSQL - Version 2.2 is released. =========================================================================== ! pyPgSQL v2.2 has been released. It is a bug fix release to version 2.1. 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, ! exports the PostgreSQL C API to Python. This module is written in C and ! can be compiled into Python or can be dynamically loaded on demand. 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. ! Note: It is highly recommended that you use PostgreSQL 7.1 or later and ! Python 2.1 or later. ! PostgreSQL is a sophisticated Object-Relational DBMS, supporting almost all ! SQL constructs, including sub-selects, transactions, and user-defined types ! and functions. It is the most advanced open-source database available any- ! where More information about PostgreSQL can be found at the PostgreSQL home ! page at http://www.postgresql.org. ! Python is an interpreted, interactive, object-oriented programming lang- ! uage. It combines remarkable power with very clear syntax. It has mod- ! ules, classes, exceptions, very high level dynamic data types, and dynamic ! typing. There are interfaces to many system calls and libraries, as well ! as to various windowing systems (X11, Motif, Tk, Mac, MFC). New builtin ! modules are easily written in C or C++. Python is also usable as an exten- ! sion language for applications that need a programmable interface. Python ! is copyrighted but freely usable and distributable, even for commercial ! use. More information about Python can be found on the Python home page at ! http://www.python.org. --------------------------------------------------------------------------- --- 1,69 ---- ! Announce: pyPgSQL - Version 2.3 beta 1 is released. =========================================================================== ! pyPgSQL v2.3 beta 1 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 beta 2, Python 2.0.1, ! 2.1.3 and 2.2.2. ! Note: It is highly recommended that you use PostgreSQL 7.1 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, 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/ ! ! This is the first time we release a beta of pyPgSQL. While there didn't change ! much under the hood, the build process was completely rewritten, so pyPgSQL ! should now build out of the box on most popular platforms. For you, this means ! that a "python setup.py build" will now hopefully just work. And for us, this ! means we'll have to answer less boring support questions :-) ! ! These platforms were tested and will build out of the box (of course, more ! testing won't hurt): UnixWare 7/OpenUNIX 8, Windows native, Cgwin, FreeBSD ! 4.7, Redhat Linux 7.3, SuSE Linux 7.3, Debian Linux 3.0. ! ! The build process is also designed to work with these platforms, but they ! could not be tested in real life (please do so, if you can!): Mandrake ! Linux, NetBSD, OpenBSD, MacOS X. ! ! If your platform isn't supported out of the box, you can edit a ! setup.config file to configure the build process. Patches for supporting ! additional platforms are more than welcome. Look into setup.py for how to ! do it. ! ! The other big change is that Gerhard finally gave up on getting more feedback ! on his Unicode patch and merged it into the pyPgSQL 2.x line. Hey, if it did ! work for Linux 2.4, it can work for us, too <0.7 wink>. ! ! Using Unicode works like this: ! ! from pyPgSQL import PgSQL ! con = PgSQL.connect(client_encoding=("utf-8", "ignore"), unicode_results=1) ! ! # where client_encoding are the parameters you normally give to the encode ! # method of a Unicode string. unicode_results=1 means pyPgSQL will return ! # VARCHAR/CHAR/TEXT fields as Unicode strings instead of byte strings. ! ! # As I refuse to do any magic, you'll also have to set the client encoding ! # for the database manually: ! cursor = con.cursor() ! cursor.execute("SET CLIENT_ENCODING TO UNICODE") ! ! # There are other ways to set the client encoding, including setting a ! # special environment variable (see PostgreSQL manual), but I recommend ! # doing it in code. --------------------------------------------------------------------------- *************** *** 39,82 **** =========================================================================== ! Changes since pyPgSQL Version 2.1 ================================= ! The following source code files were added to Version 2.2 of pyPgSQL: ! pyPgSQL.spec - RPM spec file, contributed by Sean Reifschneider. Changes to README ----------------- ! * Added note about case-insensitiveness of column access in PgResultSet. Changes to PgSQL.py ------------------- ! * Fixed various problems with the PgResultSet: Column (attribute and ! dictionary) access is now case-insensitive. A __contains__ method was added ! and the __setattr__ method was fixed. The get method got an optional default ! value parameter. ! * Fixed various problems with the PgNumeric type: ! - Added code to allow a float as an argument to the PgNumeric constructor. ! - You can now change the precision/scale of a PgNumeric by: ! a = PgNumeric(pgnumeric, new prec, new scale). ! This can be used to 'cast' a PgNumeric to the proper precision and scale ! before storing it in a field. ! - The arithmatic routines (__add__, __radd__, etc) now ensure that the ! arguments are properly coerced to the correct types. ! - Added support for the augmented arithmetic operations (__iadd__, etc). ! - The math routines would lose precision because the precision/ scale were ! set to be the same as the first operand. This is no longer the case all ! precision is retained for the +, -, and * operations. ! * Fixed problem that occurs when a query on an OID field doesn't return any ! rows. [Bug #589370]. ! * Applied patch #569203 and also added __pos__ and __abs__ special methods to ! PgNumeric. ! * Ensure proper SQL-quoting of long ints. ! Changes to PgSQLTestcases.py ! ---------------------------- ! * 14 new tests, mostly for PgNumeric and PgResultSet. --- 71,151 ---- =========================================================================== ! Changes since pyPgSQL Version 2.2 ================================= ! The following source code files were added to Version 2.3 beta 1 of pyPgSQL: ! setup.config - Part of the changed distutils-based build process. ! If you want to customize the build process (change ! include and library directories, for example, you ! only need to edit this file; setup.py should not be ! edited directly any longer) ! ! unicode_tests.py - Test suite for the new Unicode support. Merged from ! the Unicode patch. ! ! Changes to setup.py ! ------------------- ! * This file was rewritten entirely so that pyPgSQL now builds out of the box ! on Windows, Cygwin, Debian Linux, Redhat Linux, SuSE Linux, FreeBSD, ! UnixWare 7 and OpenUNIX 8. These are the platforms the new build process has ! been tested on. Untested support is available for Mandrake Linux, NetBSD, ! OpenBSD and MacOS X. Changes to README ----------------- ! * Updates for 2.3b1. ! * Converted the whole document into reStructuredText, so we ! can easily built a HTML version using docutils (http://docutils.sf.net/). ! ! Changes to README.win32 ! ----------------------- ! * Remove out of date warning about PostgreSQL on win32 ! * Reflected change from windows/ to ports/ Changes to PgSQL.py ------------------- ! * Merged the Unicode patch. pyPgSQL now has full Unicode support. ! * Added support for the INTERVAL type. ! * mxDateTime 1.x is no longer supported. Require mxDateTime 2.x and give ! useful error message if import fails. ! * Cosmetic changes: use cmp builtin where appropriate. ! * Fixed typo where PgTypes.__str__ was spelled incorrectly; compare to None ! using "is" operator. ! * Take into account that libpq.PgInt8Type might not be ! available. ! * Convert ROWID to PgInt8 instead of PgInt4 (the original behaviour led to ! overflow errors.) ! * Always set the displaysize field of cursor.description to -1. ! PostgreSQL 7.3 doesn't provide this information any more and it's pretty ! useless nowadays that we've mostly left line printers beyond us. ! Changes to pyPgSQL/__init__.py ! ------------------------------ ! * Register libpq.PgInt8 with copy_reg only if available. ! Changes to pglargeobject.c ! -------------------------- ! * Made the 'closed' attribute of PgLargeObject an int instead of a ! long. ! Changes to libpqmodule.c: ! ------------------------- ! * Fixed the format string of ParseTuple in libPQbool_FromInt. ! This closes a bug that appeared on Linux/Alpha (#625121). ! ! Changes to PgSQLTestcases: ! -------------------------- ! * Don't check for the obsolete displaysize field in ! cursor.description. Also don't check the backend encoding. ! Multiple files ! -------------- ! The windows/ directory has been moved to a port/ directory. Now we *always* ! use our own version of various string versions instead of special casing for a ! dozen different Windows and Unix platforms. ! In order to get the C version of PgInt8Type, it is now required that the ! constants LLONG_MAX, LLONG_MIN, ULLONG_MAX and ULLONG_MIN are defined when ! including limits.h and that including Python.h defines HAVE_LONG_LONG. ! Otherwise, a Python class is used instead. |