|
From: Gerhard <ger...@gm...> - 2002-06-05 09:43:09
|
Announce: pyPgSQL - Version 2.1 is released. =========================================================================== pyPgSQL v2.1 has been released. It is a bug fix release to version 2.0, but also includes some enhancements. 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. --------------------------------------------------------------------------- ChangeLog: =========================================================================== Changes since pyPgSQL Version 2.0 ================================= pyPgSQL 2.1 is now compatible and tested to work with PostgreSQL 7.2.x. Changes to README ----------------- * Added documentation for the new TransactionLevel attribute of the Connection object. Changes to PgSQL.py ------------------- * Added code to implement support for setting PostgreSQL transaction levels. [Feature Request #481727]. * Got rid of redundant building and storing of the mapping of column names to column positions in the PgResultSet class. Now, rows of the same query are instances of a dynamically created class, which has this mapping as a class attribute instead of an attribute of the instance. This saves a lot of space, and also slightly increases performance of cursor fetches. * Fixed the array parsing so it also works with PostgreSQL versions 7.2.x. The PostgreSQL developers changed the quoting in the string representation of arrays in 7.2 beta cycle: strings are now only quoted when otherwise the array representation would be ambiguous. The new parseArray() method should handle the old and new way of quoting in arrays. [Bug #539769]. Also added a new testcase for the ARRAY type. * Improved the array parsing, so that it now passes all the new mean testcases. Added support for parsing multidimensional arrays. Eventually, the array parsing code should go as a support function into libpq. * Replaced all typechecks with "is" operators instead of equals. Mark McEahern had a problem with using pyPgSQL in combination with a FixedPoint class where the reason was that the FixedPoint class was not comarable to None. The consensus on python-list was that None and all types are singletons, so they should be checked using "is", which is also faster, because it only checks for object identity. * Fixed a couple of problems found by Steven D. Arnold: 1. A undefined variable was used in a few places where notices were popped from the notice list. 2. Comparisons between 2 PgNumerics gave the wrong result. * Fixed problem that occurs when the sum() aggregate returns a NULL. [Bug #505162]. Changes to pgversion.c ---------------------- * Allow for development and beta versions of PostgreSQL Changes to libpqmodule.c ------------------------ * Removed special escaping of control characters in arrays. * Added support for two missing OID types: aclitem and macaddr. * Applied patch by Chris Bainbridge [Patch #505941] "fix for null bytes in bytea". Changes to pgresult.c --------------------- * Change the point at which an OID is tested to see if it is a Large Object from 1700 to 16383. |