source: trunk/docs/changelog.txt @ 349

Last change on this file since 349 was 349, checked in by darcy, 11 years ago

Removed dependence on mx.DateTime? and renamed usage to standard
library names.

File size: 9.9 KB
2PyGreSQL ChangeLog
5Version 4.0 (?)
7- Dropped support for Python below 2.3 and PostgreSQL below 7.4.
8- Improved performance of fetchall() for large result sets
9  by speeding up the type casts (as suggested by Peter Schuller).
10- Exposed exceptions as attributes of the connection object.
11- Added new method to get parameter settings.
12- Added row_factory as suggested by Simon Pamies.
13- Separated between mandatory and additional type objects.
14- Added keyword args to insert, update and delete methods.
15- Added exception handling for direct copy.
16- Release the GIL while making a connection
17  (as suggested by Peter Schuller).
18- If available, use decimal.Decimal for numeric types.
19- Allow DB wrapper to be used with DB-API 2 connections
20  (as suggested by Chris Hilton).
21- Made private attributes of DB wrapper accessible.
22- Dropped dependence on mx.DateTime module
24Version 3.8.1 (2006-06-05)
26- Use string methods instead of deprecated string functions.
27- Only use SQL-standard way of escaping quotes.
28- Added the functions escape_string() and escape/unescape_bytea()
29  (as suggested by Charlie Dyson and Kavous Bojnourdi a long time ago).
30- Reverted code in clear() method that set date to current.
31- Added code for backwards compatibility in OID munging code.
32- Reorder attnames tests so that "interval" is checked for before "int."
33- If caller supplies key dictionary, make sure that all has a namespace.
35Version 3.8 (2006-02-17)
37- Installed new favicon.ico from Matthew Sporleder <>
38- Replaced snprintf by PyOS_snprintf.
39- Removed NO_SNPRINTF switch which is not needed any longer
40- Clean up some variable names and namespace
41- Add get_relations() method to get any type of relation
42- Rewrite get_tables() to use get_relations()
43- Use new method in get_attnames method to get attributes of views as well
44- Add Binary type
45- Number of rows is now -1 after executing no-result statements
46- Fix some number handling
47- Non-simple types do not raise an error any more
48- Improvements to documentation framework
49- Take into account that nowadays not every table must have an oid column
50- Simplification and improvement of the inserttable() function
51- Fix up unit tests
52- The usual assortment of minor fixes and enhancements
54Version 3.7 (2005-09-07)
56Improvement of pgdb module:
58- Use Python standard `datetime` if `mxDateTime` is not available
60Major improvements and clean-up in classic pg module:
62- All members of the underlying connection directly available in `DB`
63- Fixes to quoting function
64- Add checks for valid database connection to methods
65- Improved namespace support, handle `search_path` correctly
66- Removed old dust and unnessesary imports, added docstrings
67- Internal sql statements as one-liners, smoothed out ugly code
69Version 3.6.2 (2005-02-23)
71- Further fixes to namespace handling
73Version 3.6.1 (2005-01-11)
75- Fixes to namespace handling
77Version 3.6 (2004-12-17)
79- Better DB-API 2.0 compliance
80- Exception hierarchy moved into C module and made available to both APIs
81- Fix error in update method that caused false exceptions
82- Moved to standard exception hierarchy in classic API
83- Added new method to get transaction state
84- Use proper Python constants where appropriate
85- Use Python versions of strtol, etc. Allows Win32 build.
86- Bug fixes and cleanups
88Version 3.5 (2004-08-29)
90Fixes and enhancements:
92- Add interval to list of data types
93- fix up method wrapping especially close()
94- retry pkeys once if table missing in case it was just added
95- wrap query method separately to handle debug better
96- use isinstance instead of type
97- fix free/PQfreemem issue - finally
98- miscellaneous cleanups and formatting
100Version 3.4 (2004-06-02)
102Some cleanups and fixes.
103This is the first version where PyGreSQL is moved back out of the
104PostgreSQL tree. A lot of the changes mentioned below were actually
105made while in the PostgreSQL tree since their last release.
107- Allow for larger integer returns
108- Return proper strings for true and false
109- Cleanup convenience method creation
110- Enhance debugging method
111- Add reopen method
112- Allow programs to preload field names for speedup
113- Move OID handling so that it returns long instead of int
114- Miscellaneous cleanups and formatting
116Version 3.3 (2001-12-03)
118A few cleanups.  Mostly there was some confusion about the latest version
119and so I am bumping the number to keep it straight.
121- Added NUMERICOID to list of returned types. This fixes a bug when
122  returning aggregates in the latest version of PostgreSQL.
124Version 3.2 (2001-06-20)
126Note that there are very few changes to PyGreSQL between 3.1 and 3.2.
127The main reason for the release is the move into the PostgreSQL
128development tree.  Even the WIN32 changes are pretty minor.
130- Add Win32 support (
131- Fix some DB-API quoting problems (
132- Moved development into PostgreSQL development tree.
134Version 3.1 (2000-11-06)
136- Fix some quoting functions.  In particular handle NULLs better.
137- Use a method to add primary key information rather than direct
138  manipulation of the class structures
139- Break decimal out in `_quote` (in and treat it as float
140- Treat timestamp like date for quoting purposes
141- Remove a redundant SELECT from the `get` method speeding it,
142  and `insert` (since it calls `get`) up a little.
143- Add test for BOOL type in typecast method to `pgdbTypeCache` class
144  (
145- Fix to send port as integer to lower level function
146  (
147- Change to speed up some operations
148- Allow updates on tables with no primary keys
150Version 3.0 (2000-05-30)
152- Remove strlen() call from pglarge_write() and get size from object
153  (
154- Add a little more error checking to the quote function in the wrapper
155- Add extra checking in `_quote` function
156- Wrap query in for debugging
157- Add DB-API 2.0 support to pgmodule.c (
158- Add DB-API 2.0 wrapper (
159- Correct keyword clash (temp) in tutorial
160- Clean up layout of tutorial
161- Return NULL values as None (
162  (WARNING: This will cause backwards compatibility issues)
163- Change None to NULL in insert and update
164- Change hash-bang lines to use /usr/bin/env
165- Clearing date should be blank (NULL) not TODAY
166- Quote backslashes in strings in `_quote` (brian@CSUA.Berkeley.EDU)
167- Expanded and clarified build instructions (
168- Make code thread safe (
169- Add README.distutils ( &
170- Many fixes and increased DB-API compliance by,
171, and others to get the final
172  version ready to release.
174Version 2.4 (1999-06-15)
176- Insert returns None if the user doesn't have select permissions
177  on the table.  It can (and does) happen that one has insert but
178  not select permissions on a table.
179- Added ntuples() method to query object (
180- Corrected a bug related to getresult() and the money type
181- Corrected a bug related to negative money amounts
182- Allow update based on primary key if munged oid not available and
183  table has a primary key
184- Add many __doc__ strings (
185- Get method works with views if key specified
187Version 2.3 (1999-04-17)
189- returns "localhost" when connected to Unix socket
190  (
191- Use `PyArg_ParseTupleAndKeywords` in connect() (
192- fixes and cleanups (
193- Fixed memory leak in dictresult() (
194- Deprecated - functionality now in
195- More cleanups to the tutorial
196- Added fileno() method - (Mikhail Terekhov)
197- added money type to quoting function
198- Compiles cleanly with more warnings turned on
199- Returns PostgreSQL error message on error
200- Init accepts keywords (Jarkko Torppa)
201- Convenience functions can be overridden (Jarkko Torppa)
202- added close() method
204Version 2.2 (1998-12-21)
206- Added user and password support thanks to Ng Pheng Siong (
207- Insert queries return the inserted oid
208- Add new `pg` wrapper (C module renamed to _pg)
209- Wrapped database connection in a class
210- Cleaned up some of the tutorial.  (More work needed.)
211- Added `version` and `__version__`.
212  Thanks to for the suggestion.
214Version 2.1 (1998-03-07)
216- return fields as proper Python objects for field type
217- Cleaned up
218- Added dictresult method
220Version 2.0  (1997-12-23)
222- Updated code for PostgreSQL 6.2.1 and Python 1.5
223- Reformatted code and converted to use full ANSI style prototypes
224- Changed name to PyGreSQL (from PyGres95)
225- Changed order of arguments to connect function
226- Created new type `pgqueryobject` and moved certain methods to it
227- Added a print function for pgqueryobject
228- Various code changes - mostly stylistic
230Version 1.0b (1995-11-04)
232- Keyword support for connect function moved from library file to C code
233  and taken away from library
234- Rewrote documentation
235- Bug fix in connect function
236- Enhancements in large objects interface methods
238Version 1.0a (1995-10-30)
240A limited release.
242- Module adapted to standard Python syntax
243- Keyword support for connect function in library file
244- Rewrote default parameters interface (internal use of strings)
245- Fixed minor bugs in module interface
246- Redefinition of error messages
248Version 0.9b (1995-10-10)
250The first public release.
252- Large objects implementation
253- Many bug fixes, enhancements, ...
255Version 0.1a (1995-10-07)
257- Basic libpq functions (SQL access)
Note: See TracBrowser for help on using the repository browser.