From: Gerhard H?r. <gha...@us...> - 2002-06-05 08:49:20
|
Update of /cvsroot/pypgsql/pypgsql In directory usw-pr-cvs1:/tmp/cvs-serv6145 Modified Files: Announce Log Message: 05JUN2002 gh Made announcement for version 2.1. Index: Announce =================================================================== RCS file: /cvsroot/pypgsql/pypgsql/Announce,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** Announce 5 Nov 2001 01:18:12 -0000 1.16 --- Announce 5 Jun 2002 08:49:17 -0000 1.17 *************** *** 1,27 **** ! Announce: pyPgSQL - Version 2.0 is released. =========================================================================== ! pyPgSQL v2.0 has been released. It is a bug fix release to version 1.6, ! but also include some enhancements. With this release, pyPgSQL is now a ! "real" package. This was done to facilitate the implementation of pickling ! of the supplied PostgreSQL support objects, PgBoolean, PgInt2, PgInt8, and ! PgLargeObject. ! ! NOTE: This change will require the used of "from pyPgSQL import PgSQL" and ! "from pyPgSQL import libpq" to import the PgSQL and libpq modules. 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 --- 1,21 ---- ! 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 *************** *** 32,43 **** 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. --- 26,37 ---- 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. *************** *** 46,184 **** =========================================================================== ! Changes since pyPgSQL Version 1.6 ================================= ! pyPgSQL is now a 'real' python package (i.e. there is a directory named ! pyPgSQL that contains a file named __init__.py). PgSQL and libpq are now ! modules contained in the pyPgSQL package. ! =-=-=-=-=-=-=-=-=-=-=-=-=- ** IMPORTANT NOTE ** =-=-=-=-=-=-=-=-=-=-=-=-=-= ! NOTE: This change requires the use of 'from pyPgSQL import PgSQL' to import ! the PgSQL module, and 'from pyPgSQL import libpq' to import the libpq ! module. ! -=-=-=-=-=-=-=-=-=-=-=-=-= ** IMPORTANT NOTE ** -=-=-=-=-=-=-=-=-=-=-=-=-=- Changes to PgSQL.py ------------------- ! * It appears that under certain circumstances, PostgreSQL will not ! return a precision/scale value for a numeric column when no result rows ! are returned [Bug #477792]. The problem is fixed by using a precision ! and scale of (30,6) when this condition occurs. ! ! * Change the import of DateTime to avoid conflicts with ZOPE's builtin ! DateTime module. ! * Added code to ensure that creation of a binary object via the binary() ! method always occurs within the context of a transaction. ! * Change code so that the escaping/quoting is different if the result is ! to be used to build PostgreSQL arrays. ! * Modified all the Object._quote methods so that they now accept an ! option argument, forArray, which if set to 1 will cause escaping / ! quoting for PostgreSQL array use. ! * Re-organized the code use to build PostgreSQL arrays. ! ! * Added additional PostgreSQL types to BINARY, ROWID, etc. ! * Fixed problems associated with type casting. Changes to libpqmodule.c ------------------------ ! * Added support for the pickling of libpq objects. In particular, for ! PgVersion and PgConnection objects. ! ! * Added a cntructor method for PgVersion objects. ! ! * Changed all new style comments to original style. ! ! * Change PgQuoteString and PgQuoteByta so that unsigned char pointers are ! used instead of signed char pointers. ! ! * Added different quoting/escaping if the result is to be used as part of ! a PostgreSQL array. ! ! * Change the quoting/escaping helper routines so that they also escape ! the double quote character. ! ! * Added a PgLargeObject constructor. ! ! Changes to pgboolean.c ! ---------------------- ! * Change the constructors so that they return PyObject * instead of ! PgBooleanObject *. ! ! Changes to pgconnection.c ! ------------------------- ! * Fixed a possible memory leak. ! ! * Added the lo_export() method. It was overlooked in the original code. ! ! * Added support for the pickling of PgConnection objects. In particular, ! a hidden method was added to return the connection information string ! used to create the connection. ! ! * Changed all new style comments to original style. ! ! * Added some brakets to clarify ambiguous else clauses. ! ! * Fixed numerous bugs found during the development of the regression test ! cases for pgconnection.c. ! ! * The PgConnection's attributes are now set to a value of None when ! finish() is called. ! ! Changes to pgint2object.c ! ------------------------- ! * Changed all new style comments to original style. ! ! * Change the constructors so that they return PyObject * instead of ! PgInt2Object *. ! ! Changes to pgint8object.c ! ------------------------- ! * Changed all new style comments to original style. ! ! * Change the constructors so that they return PyObject * instead of ! PgInt8Object *. ! ! Changes to pglargeobject.c ! -------------------------- ! * Closed some memory leaks. This leaks had only a small probability of ! occuring. ! ! * Added support for the pickling of large objects. In particular, a ! method was added to retrieve the info needed to recreate the large ! object. Also, the open() and close() methods were changed to create ! and end transaction in the un-pickled large objects in order to create ! the context in which large object must be used. ! ! * Added a _quote() funtion. ! * Ensure that INV_BIN is not in the mode variable when lo_open is ! called. ! * Removed static declaration from validmodes[]. It's now used by ! lo_create in pgconnection.c also. Changes to pgresult.c --------------------- ! * [Bug #474771] Found and plugged a memory leak in the PgResult_New() ! function. An object for the value of PGcmdStatus was being created ! twice, leaving an extra copy around to consume memory. ! ! * Added support for the pickling of pyPgSQL objects. ! ! * Change error message returned by PgResult_ntuple_check if no tuples ! were returned in the result. The returned error message now makes ! sense. ! ! * Added support for the PostgreSQL BYTEA type. ! ! * I have removed resultErrorMessage as an attribute. It doesn't make ! sense to leave it since it will always be None. Why? Because any ! query that generates an error will raise an exception, not return a ! PgResult. ! --- 40,107 ---- =========================================================================== ! 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. |