Merge from trunk
[plcapi.git] / trunk / psycopg2 / doc / ChangeLog-1.x
diff --git a/trunk/psycopg2/doc/ChangeLog-1.x b/trunk/psycopg2/doc/ChangeLog-1.x
new file mode 100644 (file)
index 0000000..dadfc1b
--- /dev/null
@@ -0,0 +1,1744 @@
+2003-07-26  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.7.
+
+       * ZPsycopgDA/db.py: added _cursor method that checks for self.db
+       before returning a new cursor. Should fix problem reported with
+       Zope 2.7.  
+
+2003-07-23  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c: applied notify and fileno patch from Vsevolod Lobko.
+
+2003-07-20  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_mogrify_dict): applied (slightly modofied) patch from
+       Tobias Sargeant: now .execute() accept not only dictionaries but
+       every type that has a __getitem__ method.
+
+2003-07-13  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.6.
+
+       * cursor.c (psyco_curs_scroll): added scroll method, patch from
+       Jason D.Hildebrand.
+
+       * typemod.c (new_psyco_quotedstringobject): discard NUL characters
+       (\0) in quoted strings (fix problem reported by Richard Taylor.)
+
+2003-07-10  Federico Di Gregorio  <fog@debian.org>
+
+       * Added python-taylor.txt in doc directory: very nice introduction
+       to DBAPI programming by Richard Taylor.
+
+2003-07-09  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_psyco_curs_execute): another MT problem exposed and
+       fixed by Sebastien Bigaret (self->keeper->status still LOCKED
+       after a fatal error during PQexec call.)
+
+2003-06-23  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.5.1.
+
+       * ZPsycopgDA/db.py (DB.query): stupid error making ZPsycopgDA
+       unusable fixed (else->except).
+
+2003-06-22  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.5 candidate.
+
+       * cursor.c (psyco_curs_copy_to): now any object with the write
+       method can be used as a copy_to target.  
+
+2003-06-20  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (psyco_curs_copy_from): applied patch to allow copy_to
+       from any object having a "readline" attribute (patch from Lex
+       Berezhny.) (psyco_curs_copy_from): another patch from Lex to make
+       psycopg raise an error on COPY FROM errors. 
+
+       * ZPsycopgDA/db.py (DB.query): if a query raise an exception,
+       first self._abort() is called to rollback current
+       "sub-transaction".  this is a backward-compatible change for
+       people that think continuing to work in the same zope transaction
+       after an exception is a Good Thing (TM).
+
+       * finally updated check_types.expected. checked by hand the
+       conversions work the right way.
+
+       * doc/examples/work.py: fixed example. note that it is a long time
+       (at least two releases) that psycopg does not END a transaction
+       initiated explicitly by the user while in autocommit mode.
+
+2003-06-19  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_mogrify_dict): fixed dictionary mogrification (patch
+       by Vsevolod Lobko.) (_psyco_curs_execute): fixed keeper status
+       trashing problem by letting only one thread at time play with
+       keeper->status (as suggested by Sebastien Bigaret.)
+
+2003-05-07  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.4.
+
+       * cursor.c: Added "statusmessage" attribute that holds the backend
+       message (modified lots of functions, look for self->status).
+
+2003-05-06  Federico Di Gregorio  <fog@debian.org>
+
+       * typemod.c (new_psyco_datetimeobject): moved Py_INCREF into
+       XXX_FromMx functions, to fix memory leak reported by Jim Crumpler.
+
+2003-04-11  Federico Di Gregorio  <fog@debian.org>
+
+       * module.h (PyObject_TypeCheck): fixed leak in python 2.1
+       (Guido van Rossum).
+
+2003-04-08  Federico Di Gregorio  <fog@debian.org>
+
+       * buildtypes.py (basic_types): removed LXTEXT (never user, does
+       not exists anymore.)
+
+2003-04-07  Federico Di Gregorio  <fog@debian.org>
+
+       * setup.py: added very lame setup.py script.
+
+2003-04-02  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.3. 
+
+       * psycopg.spec: Added (but modified) spec file by William
+       K. Volkman (again, this change was lost somewhere in time...)
+
+2003-04-01  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_psyco_curs_execute): psycopg was reporting everything
+       as IntegrityError; reported and fix suggested by Amin Abdulghani.
+
+2003-03-21  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (psyco_curs_fetchone): debug statements sometimes made
+       psycopg segfault: fixed by a patch by Ken Simpson.
+
+2003-03-18  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (alloc_keeper): patch from Dieter Maurer to unlock GIL
+       whaile calling PQconnectdb().
+
+2003-03-05  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.2.
+
+       * Applied cygwin patch from Hajime Nakagami.
+
+2003-02-25  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.1.2pre1.
+       
+       * cursor.c: added .lastrowid attribute to cursors (lastoid is
+       deprecated and will be removed sometime in the future.)
+
+       * cursor.c (begin_pgconn): implemented various isolation levels
+       (also, in abort_pgconn, commit_pgconn.)
+
+       * Added keyword parameters to psycopg.connect(): all take strings
+       (even port): database, host, port, user, password.
+       
+       * configure.in: fixed test for postgres version > 7.2.
+
+       * cursor.c (_psyco_curs_execute): removed if on pgerr in default
+       case (if we enter default pgerr can't be one of the cased ones.)
+       Also applied slightly modified patch from  William K. Volkman.
+
+2003-02-24  Federico Di Gregorio  <fog@debian.org>
+
+       * Merged in changes from 1.0.15.1 (see below for merged
+       ChangeLog.)
+
+2003-02-14  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.15.1.
+
+       * cursor.c (_mogrify_fmt): in some cases we where removing one
+       character too much from the format string, resulting in BIG BAD
+       BUG. <g> Fixed.
+
+2003-02-13  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.15. <g>
+       
+       * connection.c (_psyco_conn_close): now call dispose_pgconn on all
+       cursors, to make sure all phisical connections to the db are
+       closed (problem first reported by Amin Abdulghani.)
+
+       * DBAPI-2.0 fixed mainly due to Stuart Bishop:
+         - cursor.c (psyco_curs_setinputsizes): removed PARSEARGS, as
+           this method does nothing.
+         - cursor.c (psyco_curs_setoutputsize): .setoutputsize was
+           spelled .setoutputsizes! fixed. Also removed PARSEARGS, as this
+           method does nothing.
+
+2003-02-12  Federico Di Gregorio  <fog@debian.org>
+
+       * module.h (Dprintf): check on __APPLE__ to avoid variadic macros
+       on macos x (as reported by Stuart Bishop, btw, why gcc seems to
+       not support them on macos?)
+
+       * cursor.c (_mogrify_fmt): non-alphabetic characters are dropped
+       after the closing ")" until a real alphabetic, formatting one is
+       found. (Fix bug reported by Randall Randall.)
+
+2003-02-05  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): patched again to take into
+       account leading zeroes.
+
+2003-02-02  Federico Di Gregorio  <fog@debian.org>
+
+       * Makefile.pre.in: applied patch from Albert Chin-A-Young to
+       define BLDSHARED.
+
+       * README: added explicit permission to link with OpenSSL.
+
+2003-01-30  Federico Di Gregorio  <fog@debian.org>
+
+       * config.h.in: applied patch from Albert Chin-A-Young to fix
+       asprintf prototype.
+
+2003-01-29  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_mogrify_seq): fixed little refcount leak, as
+       suggested by Yves Bastide.
+
+2003-01-24  Federico Di Gregorio  <fog@debian.org>
+
+       * Merged-in changes from 1.0.14.2 (emacs diff mode is great..)
+
+       * Release 1.0.14.2.
+
+       * ZPsycopgDA/db.py (DB.query): back to allowing up to 1000 db
+       errors before trying to reopen the connection by ourselves.
+       
+       * ZPsycopgDA/db.py: a false (None preferred, 0 allowed) max_rows
+       value now means "fetch all results".
+
+2003-01-22  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (psyco_curs_fetchone): fixed little memory leak
+       reported by Dieter Maurer.
+
+2003-01-20  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (DB.tables/columns): added registration with
+       Zope's transaction machinery.
+
+       * Release 1.0.14.1.
+
+       * ZPsycopgDA/db.py: applied some fixes and cleanups by Dieter
+       Maurer (serialization problem were no more correctly detected!)
+
+       * Release 1.0.14.
+       
+       * Merged in 1.0.14.
+
+       * Import of 1.1.1 done.
+       
+       * Moved everything to cvs HEAD.
+
+2003-01-20  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/connectionAdd.dtml: fixed typo (thanks to Andrew
+       Veitch.)
+
+       * typeobj.c (psyco_INTERVAL_cast): applied patch from Karl Putland
+       to fix problems with fractional seconds.
+
+2002-12-03  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.14-pre2.
+
+       * module.h: added macro for PyObject_TypeCheck if python version <2.2.
+
+       * typeobj.c (psyco_DBAPITypeObject_coerce): added error message to
+       coercion errors.
+
+2002-12-02  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.14-pre1.
+
+       * ZPsycopgDA/db.py (DB.sortKey): added sortKey().
+       
+       * ZPsycopgDA/DA.py: applied a patch that was lost on hard disk
+       (sic), if you sent me a patch names psycopg-1.0.13.diff modifying
+       DA.py imports and want your name here, send me an email. :)
+       [btw, the patch fix the ImageFile import, getting it from Globals
+       as it is right.]
+
+       * typeobj.c (psyco_DBAPITypeObject_coerce): Fixed coerce segfault
+       by checking explicitly for all the allowed types.
+
+2002-11-25  Federico Di Gregorio  <fog@debian.org>
+
+       * doc/examples/*.py: added .rollback() to all exceptions before
+       deleteing the old table. 
+
+       * cursor.c: Apllied patch from John Goerzen (fix memory leak in
+       executemany).
+
+2002-10-25  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.13.
+
+       * connection.c (_psyco_conn_close): remove cursors from the list
+       starting from last and moving backward (as suggested by Jeremy
+       Hylton; this is not such a big gain because python lists are
+       *linked* lists, but not removing the element 0 makes the code a
+       little bit clear.)
+
+       * cursor.c (_psyco_curs_execute): now IntegrityError is raised
+       instead of ProgrammingError when adding NULL values to a non-NULL
+       column (suggested by Edmund Lian) and on referential integrity
+       violation (as per debian bug #165791.)
+
+       * typeobj.c (psyco_DATE_cast): now we use 999999 instead of
+       5867440 for very large (both signs) dates. This allow to re-insert
+       the DateTime object into postgresql (suggested by Zahid Malik.) 
+
+2002-09-13  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.12.
+
+       * Removed code to support COPY FROM/TO, will be added to new 1.1
+       branch to be released next week.
+
+       * cursor.c (_mogrify_seq): Fixed memory leak reported by Menno
+       Smits (values obtained by calling PySequence_GetItem are *new*
+       references!)
+
+2002-09-07  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_psyco_curs_execute): Added skeleton to support COPY
+       FROM/TO.
+
+2002-09-06  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: if libcrypt can't be found we probably are on
+       MacOS X: check for libcrypto, as suggested by Aparajita Fishman.
+
+2002-09-03  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (DB.columns): Applied patch from Dieter Maurer
+       to allow the DA-browser to work with mixed case table names.
+
+2002-08-30  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (cast_DateTime): Applied patch from Yury to fix
+       timestamps (before they were returned with time always set to 0.)
+
+2002-08-26  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.11.1 (to fix a %&£$"! bug in ZPsycopgDA not
+       accepting psycopg 1.0.11 as a valid version.
+
+       * Release 1.0.11.
+
+2002-08-22  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.11pre2.
+
+       * cursor.c (_psyco_curs_execute): fixed IntegrityError as reported
+       by Andy Dustman. (psyco_curs_execute): converting TypeError to
+       ProgrammingError on wrong number of % and/or aeguments. 
+
+       * doc/examples/integrity.py: added example and check for
+       IntegrityError.
+
+2002-08-08  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.11pre1.
+
+2002-08-06  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (cast_DateTime): patched as suggested by Tom
+       Jenkins; now it shouldwork with time zones too.
+
+2002-08-01  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (cast_DateTime): fixed problem with missing
+       AM/PM, as reported by Tom Jenkins.
+
+2002-07-23  Federico Di Gregorio  <fog@debian.org>
+
+       * Fixed buglets reported by Mike Coleman.
+
+2002-07-22  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.10.
+
+2002-07-14  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.10pre2.
+       
+       * typeobj.c (psyco_LONGINTEGER_cast): fixed bad segfault by
+       INCREFfing Py_None when it is the result of a NULL conversion.
+
+2002-07-04  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.10pre1.
+       
+       * buildtypes.py (basic_types): added TIMESTAMPTZ to the types
+       converted by the DATE builtin.
+       
+       * ZPsycopgDA/DA.py (Connection.connect): Added version check.
+
+2002-07-03  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_XXX_cast): fixed bug reported by multiple users
+       by appliying Matt patch. 
+
+2002-06-30  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (Connection.set_type_casts): applied patch from
+       Tom Jenkins to parse dates with TZ.
+
+2002-06-20  Federico Di Gregorio  <fog@debian.org>
+
+       * Preparing for release 1.0.9.
+
+       * Makefile.pre.in (dist): now we really include psycopg.spec.
+
+2002-06-17  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (_finish, _abort): fixed problem with
+       connection left in invalid state by applying Tom Jenkins patch.
+
+2002-06-06  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (DB._abort): fixed exception raising after an
+       error in execute triggerer deletion of self.db.
+
+2002-05-16  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (psyco_curs_fetchone): None values passed to the
+       internal typecasters. 
+
+       * typeobj.c: added management of None to all the builtin
+       typecasters. 
+
+2002-04-29  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (cast_Time): applied 'seconds as a float' patch
+       from Jelle.
+
+2002-04-23  Federico Di Gregorio  <fog@debian.org>
+
+        * Release 1.0.8.
+
+       * Makefile.pre.in: we now include win32 related files in the
+       distribution. 
+       
+       * connection.c (psyco_conn_destroy): fixed segfault reported by
+       Scott Leerssen (we were double calling _psyco_conn_close().)
+
+       * typemod.c (new_psyco_quotedstringobject): fixed memory stomping
+       catched by assert(); thanks to Matt Hoskins for reporting this
+       one.
+
+2002-04-22  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: grmpf. we need a VERSION file for windows, we'll
+       use it for configue and debian/rules too. 
+
+       * Integrated win32 changes from Jason Erickson. Moved his
+       Readme.txt to README.win32, removed VERSION and DATE, patched
+       source where required. Renamed HISTORY to ChangeLog.win32, hoping
+       Jason will start adding changes to the real ChangeLog file.
+
+2002-04-07  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.7.1.
+       
+       * configure.in: fixed little bug as reported by ron.
+
+2002-04-05  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.7?
+       
+       * typemod.c (new_psyco_bufferobject): fixed encoding problem (0xff
+       now encoded as \377 and not \777.) Also encoding *all* chars as
+       quoted octal values to prevent "Invalid UNICODE character sequence
+       found" errors.
+
+       * Release 1.0.7. (Real this time.) (Ok, it was a joke....)
+
+2002-04-03  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: fixed problem with postgres versions in the format
+       7.2.x (sic.)
+
+       * connection.c (psyco_conn_destroy): moved most of the destroy
+       stuff into its own function (_psyco_conn_close) and added a call
+       to it from psyco_conn_close. This should fix the "psycopg does not
+       release postgres connections on .close()" problem.
+
+2002-03-29  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.7. Delayed.
+       
+       * buildtypes.py (basic_types): added TIMESTAMPTZ postgres type to
+       the list of valid DATETIME types (incredible luck, no changes to
+       the parse are needed!)
+
+       * typeobj.c (psyco_DATE_cast): fixed wrong managment of sign in
+       infinity.
+
+2002-03-27  Federico Di Gregorio  <fog@debian.org>
+       
+       * configure.in (INSTALLOPTS): added AC_PROG_CPP test, now uses
+       AC_TRY_CPP to test for _all_ required mx includes.
+
+2002-03-19  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: added check for both pg_config.h and config.h to
+       detect postgres version.
+
+       * cursor.c: now None values are correctly handled when the format
+       string is not %s but %d, etc.
+
+2002-03-08  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py: added MessageDialog import suggested by
+       Guido.
+
+2002-03-07  Federico Di Gregorio  <fog@debian.org>
+
+       * psycopg.spec: added RPM specs by William K. Volkman.
+
+       * Release 1.0.6.
+       
+       * configure.in: imported changes to allow postgres 7.2 builds from
+       unstable branch.
+
+2002-03-04  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0.5.
+
+       * applied table browser patch from Andy Dustman. 
+
+2002-02-26  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_DATE_cast): added management of infinity
+       values, this can be done in a better way, by accessing the
+       MaxDateTime and MinDateTime constants of the mx.DateTime module.
+
+2002-02-20  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: Release 1.0.4.
+
+2002-02-12  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (DB.columns): fixed select to reenable column
+       expansion in table browsing.
+
+       * ZPsycopgDA/__init__.py: removed code that made psycopg think
+       double.  
+
+2002-02-11  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_mogrify_dict): removed Py_DECREF of Py_None,
+       references returned by PyDict_Next() are borrowed (thanks to
+       Michael Lausch for this one.)
+
+2002-02-08  Federico Di Gregorio  <fog@debian.org>
+
+       * A little bug slipped in ZPsycopgDA, releasing 1.0.3 immediately.
+
+        * Release 1.0.2.
+       
+       * tests/check_types.py (TYPES): added check for hundredths of a
+       second. 
+
+2002-02-07  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): patched to correct wrong
+       interpretation of hundredths of a second (patch from
+       A. R. Beresford, kudos!)
+
+2002-01-31  Federico Di Gregorio  <fog@debian.org>
+
+       * FAQ: added.
+
+2002-01-16  Federico Di Gregorio  <fog@debian.org>
+
+       * Preparing for release 1.0.1.
+       
+       * cursor.c (alloc_keeper): removed ALLOW_THREADS wrapper around
+       PQconnectdb: libpq calls crypt() that is *not* reentrant.
+
+2001-12-19  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_DBAPITypeObject_cmp): added check to simply
+       return false when two type objects are compared (type objects are
+       meaned to be compared to integers!)
+
+       * typeobj.c: fixed the memory leak reported by the guys at
+       racemi, for real this time. (added about 5 DECREFS and 2 INCREFS,
+       ouch!)
+       
+2001-12-17  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_DBAPITypeObject_cmp): fixed memory leak by
+       using PyTuple_GET_ITEM (we are sure the tuple has at least one
+       element, we built it, after all...) (many thanks to Scott Leerssen
+       for reporting the *exact line* for this one.)
+
+2001-12-13  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c: fixed memory leak due to extra strdup (thanks
+       to Leonardo Rochael Almeida.)
+
+2001-11-14  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 1.0. 
+
+       * doc/README: added explanation about guide work in progess but
+       examples working.
+
+       * debian/*: lots of changes to release 1.0 in debian too.
+
+2001-11-12  Federico Di Gregorio  <fog@debian.org>
+
+       * RELEASE-1.0: added release file, to celebrate 1.0.
+
+       * tests/zope/typecheck.zexp: regression test on types for zope.
+
+2001-11-11  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (cast_Interval): removed typecast of interval
+       into zope DateTime. intervals are reported as strings when using
+       zope DateTime and as DateTimeDeltas when using mx.
+
+2001-11-09  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): complete rewrite of the
+       interval parsing code. now we don't use sscanf anymore and all is
+       done with custom code in a very tight and fast loop. 
+
+2001-11-08  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/DA.py (Connection.set_type_casts): added mx INTERVAL
+       type restore.
+
+       * ZPsycopgDA/db.py (DB.query): now we return column names even if
+       there are no rows in the result set. also, cleaned up a little bit
+       the code.
+
+2001-11-7  Federico Di Gregorio,  <fog@debian.org>
+
+       * Makefile.pre.in: fixed small problem with zcat on True64 
+       (thank you stefan.)
+
+2001-11-06  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (DB.query): added fix for concurrent update
+       from Chris Kratz.
+
+2001-11-05  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c: now we include postgres.h if InvalidOid is still
+       undefined after all other #includes.
+
+       * README: clarified use of configure args related to python
+       versions.
+
+       * aclocal.m4: patched to work with symlinks installations (thanks
+       to Stuart Bishop.)
+
+       * cursor.c (_psyco_curs_execute): now reset the keeper's status to
+       the old value and not to BEGIN (solve problem with autocommit not
+       switching back.)
+
+2001-11-01  Federico Di Gregorio  <fog@debian.org>
+
+       * doc/examples/dt.py: added example on how to use the date and
+       time constructors. 
+
+       * Makefile.pre.in (dist-zope): removed dependencies on GNU install
+       and tar commands. Also a little general cleanup on various targets.
+
+       * ZPsycopgDA/DA.py: fixed mx.DateTime importing. 
+
+2001-10-31  Federico Di Gregorio  <fog@debian.org>
+
+       * typemod.c (psyco_xxxFromMx): fixed bug in argument parsing (we
+       weren't usigng the right type object.) 
+
+       * aclocal.m4: now builds OPT and LDFLAGS on the values of the env
+       variables instead of overwriting them.
+
+       * Makefile.pre.in (CFLAGS): removed -Wall, you can add it back at
+       compile time with OPT="-Wall" ./configure ...
+
+       * Setup.in (OPT): removed -Wall.
+
+2001-10-30  Michele Comitini <mcm@initd.net>
+
+       * module.h: ANSI C compatibility patch from Daniel Plagge.
+       
+2001-10-30  Federico Di Gregorio  <fog@debian.org>
+
+       * README: added common building problems and solutions.
+
+       * configure.in: removed check for install command, already done by
+       james's aclocal.m4 for python. removed install-sh. removed -s from
+       INSTALLOPTS.
+
+2001-10-29  Federico Di Gregorio  <fog@debian.org>
+
+       * Makefile.pre.in (dist): removed examples/ directory from
+       distribution. 
+
+       * merge with cvs head. preparing to fork again on PSYCOPG-1-0 (i
+       admit BRANCH_1_0 was quite a silly name.)
+
+       * doc/examples/usercast.py: now works. 
+
+       * connection.c (curs_rollbackall): fixed little bug (exposed by
+       the deadlock below) by changing KEEPER_READY to KEEPER_READY.
+
+       * doc/examples/commit.py: deadlock problem solved, was the
+       example script, _not_ psycopg. pew... :)
+
+       * examples/*: removed the examples moved to doc/examples/.
+       
+       * doc/examples/commit.py,dictfetch.py: moved from examples/ and
+       changed to work for 1.0. unfortunately commit.py locks psycopg!!!
+
+2001-10-24  Federico Di Gregorio  <fog@debian.org>
+
+       * modified all files neede for the 1.0 release.
+
+       * configure.in (MXFLAGS): removed electric fence support.
+
+       * Makefile.pre.in (dist): now we remove CVS working files before
+       packing the tarball.
+
+        * tests: files in this directory are not coding examples, but
+       regression tests. we need a sufficient number of tests to follow
+       every single code path in psycopg at least once. first test is
+       about datatypes.
+       
+       * doc/examples: moved new example code to examples directory, old
+       tests and code samples will stay in examples/ until the manual will
+       be finished.
+
+2001-10-16  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): completely revised interval
+       casting code. (psyco_TIME_cast): we use the unix epoch when the
+       date is undefined. 
+
+       * cursor.c (psyco_curs_executemany): modified sanity check to
+       accept sequences of tuples too and not just dictionaries.
+
+2001-10-15  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): fixed bug caused by wrong
+       parsing on '1 day' (no hours, minutes and seconds.)
+
+2001-10-15  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (_execute): use the correct cast functions even on
+       retrival of binary cursors.
+
+2001-10-12  Federico Di Gregorio  <fog@debian.org>
+
+       * typemod.c (new_psyco_bufferobject): space not quoted anymore,
+       smarter formula to calculate realloc size.
+
+       * cursor.c (psyco_curs_fetchone): removed static tuple (using
+       static variable in multithreaded code is *crazy*, why did i do it? 
+       who knows...)
+
+       * typeobj.c (psyco_init_types): exports the binary converter (will
+       be used in cursor.c:_execute.)
+
+       * typeobj.h: added export of psyco_binary_cast object.
+
+2001-10-05  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_psyco_curs_execute): added missing Py_XDECREF on
+       casts list.
+
+       * Makefile.pre.in (dist): added install-sh file to the
+       distribution. 
+
+       * replaced PyMem_DEL with PyObject_Del where necessary.
+       
+       * connection.c (psyco_conn_destroy): added missing
+       pthread_mutex_destroy on keeper lock.
+
+2001-10-01  Michele Comitini  <mcm@initd.net>
+
+       * typemod.c(new_psyco_bufferobject()): using unsigned char for
+       binary objects to avoid too many chars escaped.  A quick and
+       simple formula to avoid memory wasting and too much reallocating
+       for the converted object.  Needs _testing_, but it is faster.
+
+       * cursor.c: #include <postgres.h>
+
+       * module.h: now debugging should be active only when asked by
+       ./configure --enable-devel
+       
+2001-09-29  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (new_psyco_cursobject): added locking of connection,
+       still unsure if necessary.
+
+2001-09-26  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: changed DEBUG into PSYCOTIC_DEBUG, to allow other
+       includes (postgres.h) to use the former. better compiler checks:
+       inline, ansi, gcc specific extensions. removed MXMODULE: we don't
+       need it anymore.
+
+       * general #include cleanup, should compile on MacOS X too.
+
+       * typeobj.c (psyco_DATE_cast): uses sscanf. should be faster too. 
+       (psyco_TIME_cast): dixit.
+
+       * applied patch from Daniel Plagge (SUN cc changes.)
+       
+2001-09-22  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py (DB._finish, DB._begin): fix for the 
+       self.db == None problem.
+
+2001-09-19  Michele Comitini  <mcm@initd.net>
+
+       * typemod.c (new_psyco_bufferobject): better memory managment
+       (now it allocates only needed space dinamically).
+
+       * typeobj.c (psyco_BINARY_cast): ripped a useless check, now
+       it assumes that binary streams come out from the db correctly
+       escaped.  Should be a lot faster.
+
+2001-09-18  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): fixed interval conversion
+       (hours were incorrectly converted into seconds.)
+
+2001-09-17  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_mogrify_seq, _mogrify_dict): added check for None
+       value and conversion of None -> NULL (fixes bug reported by Hamish
+       Lawson.)
+
+2001-09-12  Federico Di Gregorio  <fog@debian.org>
+
+       * module.c: added handles to new date and time conversion
+       functions (see below.)
+
+       * typemod.c (psyco_XXXFromMx): added conversion functions that
+       simply wrap the mxDateTime objects instead of creating
+       them. DBAPI-2.0 extension, off-curse. 
+
+2001-09-10  Federico Di Gregorio  <fog@debian.org>
+
+       * buildtypes.py: solved hidden bug by changing from dictionary to
+       list, to maintain ordering of types. sometimes (and just
+       sometimes) the type definitions were printed unsorted, resulting
+       is psycopg initializing the type system using the type objects in
+       the wrong order. you were getting float values from an int4
+       column? be happy, this is now fixed... 
+
+       * cursor.c (psyco_curs_lastoid): added method to get oid of the
+       last inserted row (it was sooo easy, it even works...) 
+
+2001-09-08  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_INTERVAL_cast): added casting function for the
+       postgres INTERVAL and TINTERVAL types (create a DateTimeDelta
+       object.)  
+
+2001-09-05  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c: moved all calls to begin_pgconn to a single call in
+       _psyco_curs_execute, to leave the connection in a not-idle status
+       after a commit or a rollback. this should free a lot of resources
+       on the backend side. kudos to the webware-discuss mailing list
+       members and to Clark C. Evans who suggested a nice solution.
+       
+       * connection.c (curs_rollbackall, curs_commitall): removed calls
+       to begin_pgconn, see above. 
+
+       * module.c (initpsycopg): cleaned up mxDateTime importing; we now
+       use the right function from mxDateTime.h. Is not necessary anymore
+       to include our own mx headers. This makes psycopg to depend on
+       mxDateTime >= 2.0.0.
+
+2001-09-04  Federico Di Gregorio  <fog@debian.org>
+
+       * doc/*.tex: added documentation directory and skeleton of the
+       psycopg guide. 
+
+2001-09-03  Federico Di Gregorio  <fog@debian.org>
+
+       * merged in changes from HEAD (mostly mcm fixes to binary
+       objects.)
+
+       * preparing for release 0.99.6.
+
+2001-09-03  Michele Comitini  <mcm@initd.net>
+
+       * typemod.c: much faster Binary encoding routine.
+       
+       * typeobj.c: much faster Binary decoding routine.       
+
+2001-08-28  Michele Comitini  <mcm@initd.net>
+
+       * typemod.c: Working binary object to feed data to bytea type
+       fields.
+
+       * typeobj.c: Added BINARY typecast to extract data from
+       bytea type fields.
+
+       * cursor.c: Added handling for SQL binary  cursors.
+
+2001-08-3  Michele Comitini <mcm@initd.net>
+
+       * cursor.c: fixed DATESTYLE problem thanx to Steve Drees.
+
+2001-07-26  Federico Di Gregorio  <fog@debian.org>
+
+       * Makefile.pre.in: applied change suggested by Stefan H. Holek to
+       clobber and distclean targets.
+
+2001-07-23  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py: fixed little bugs exposed by multiple select
+       changes, not we correctly import ListType and we don't override
+       the type() function with a variable. 
+
+2001-07-17  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: Release 0.99.5.
+
+2001-07-12  Federico Di Gregorio  <fog@debian.org>
+
+       * debian/* fixed some little packaging problems.
+
+2001-07-11  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c, typeobj.c: removed some Py_INCREF on PyDict_SetItem
+       keys and values to avoid memory leaks.
+
+2001-07-03  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_mogrify_dict): added dictionary mogrification: all
+       Strings in the dictionary are translated into QuotedStrings. it
+       even works... (_mogrify_seq): added sequence mogrification and
+       code to automagically mogrify all strings passed to .execute(). 
+
+2001-07-02  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.99.4.
+
+       * typemod.c: added QuotedString class and methods.
+
+       * module.c: added QuotedString method to module psycopg.
+
+       * typemod.c: changed Binary objects into something usefull. now
+       the buffer object quotes the input by translatin every char into
+       its octal representation. this consumes 4x memory but guarantees
+       that even binary data containing '\0' can go into the Binary
+       object. 
+
+       * typemod.h: added definition of QuotedString object.
+       
+2001-06-28  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py, ZPsycopgDA/DABase.py: applied patch sent by
+       yury to fix little buglet. 
+
+2001-06-22  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.99.3.
+       
+       * connection.c (new_psyco_connobject): now we strdup dsn, as a fix
+       for the problem reported by Jack Moffitt.
+
+       * Ok, this will be the stable branch from now on...
+
+       * Merged in stuff from 0.99.3. About to re-branch with a better
+       name (BRANCH_1_0)
+
+2001-06-20  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.99.3. Showstoppers for 1.0 are:
+           - documentation
+           - mxDateTime module loading
+           - bug reported by Yury.
+       
+       * Integrated patches from Michele:
+           - searching for libcrypt in configure now works
+           - removed memory leak in asprintf.c
+
+2001-06-15  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/__init__.py (initialize): applied patch from Jelle to
+       resolve problem with Zope 2.4.0a1.
+
+2001-06-14  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: added code to check for missing functions (only
+       asprintf at now.)
+
+       * asprintf.c: added compatibility code for oses that does not have
+       the asprintf() function.
+
+2001-06-10  Federico Di Gregorio  <fog@debian.org>
+
+       * Branched PSYCOPG_0_99_3. Development will continue on the cvs
+       HEAD, final adjustements and bugfixing should go to this newly
+       created branch.
+
+2001-06-08  Michele Comitini  <mcm@initd.net>
+
+       * ZPsycopgDA/DA.py: DateTime casts simplified and corrected
+       as suggested by Yury.
+
+2001-06-05  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.99.2.
+
+       * Makefile.pre.in (dist): added typemod.h and typemod.c to
+       distribution.
+       
+       * cursor.c (commit_pgconn, abort_pgconn, begin_pgconn): resolved
+       segfault reported by Andre by changing PyErr_SetString invokations
+       into pgconn_set_critical. the problem was that the python
+       interpreter simply segfaults when we touch its internal data (like
+       exception message) inside an ALLOW_THREADS wrapper.
+
+       * now that we are 100% DBAPI-2.0 compliant is time for the
+       one-dot-o release (at last!) Para-pa-pa! This one is tagged
+       PSYCOPG_0_99_1 but you can call it 1.0pre1, if you better like. 
+       (A very long text just to say 'Release 0.99.1')
+
+       * typemod.[ch]: to reach complete DBAPI-2.0 compliance we
+       introduce some new objects returned by the constructors Date(),
+       Time(), Binary(), etc. Those objects are module-to-database only,
+       the type system still takes care of the database-to-python
+       conversion.
+
+2001-06-01  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.5.5.
+
+       * module.h: better error message when trying to commit on a
+       cursor derived from serialized connection.
+       
+       * ZPsycopgDA/db.py (DB.close): now self.cursor is set to None when
+       the connection is closed.
+
+       * module.c (initpsycopg): added missing (sic) DBAPI module
+       parameters (paramstyle, apilevel, threadsafety, etc...)
+
+2001-05-24  Michele Comitini  <mcm@initd.net>
+
+       * ZPsycopgDA: Support for Zope's internal DateTime, option
+       to leave mxDateTime is available on the management interface so
+       to switch with little effort :).
+
+       * cursor.c: more aggressive cleanup of postgres results
+       to avoid the risk of memory leaking.
+
+       * typeobj.c, connection.c: deleted some Py_INCREF which
+       wasted memory.
+
+2001-05-18  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.5.4.
+
+2001-05-17  Michele Comitini  <mcm@initd.net>
+
+       * ZPsycopgDA/db.py: The connection closed by the management
+       interface of zope now raises error instead of reopening itself.
+
+       * cursor.c (psyco_curs_close):  does not try to free the cursor
+       list, as it caused a segfault on subsequent operations on the same
+       cursor.
+
+2001-05-07  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.5.3.
+       
+       * Merged in changes from me and mcm.
+
+2001-05-06  Michele Comitini  <mcm@initd.net>
+
+       * ZPsycopgDA/db.py (DB.close): Fixes a bug report by Andre
+       Shubert, which was still open since there was a tiny typo in
+       method definition.
+
+       * ZPsycopgDA/DA.py (Connection.sql_quote__): overriding standard
+       sql_quote__ method to provide correct quoting (thank to Philip
+       Mayers and Casey Duncan for this bug report).
+
+2001-05-04  Federico Di Gregorio  <fog@debian.org>
+
+       * ZPsycopgDA/db.py: added .close() method (as suffested by Andre
+       Schubert.)
+
+2001-05-04  Michele Comitini  <mcm@initd.net>
+
+       * module.h: working on a closed object now raises an
+       InterfaceError.
+
+       * ZPsycopgDA/db.py: fixed problems with dead connections detection.
+
+       * ZPsycopgDA/__init__.py: corrected SOFTWARE_HOME bug for zope
+       icon.
+
+2001-05-04  Federico Di Gregorio  <fog@debian.org>
+
+       * examples/thread_test.py: now that the serialization bug is
+       fixed, it is clear that thread_test.py is bugged! added a commit()
+       after the creation of the first table to avoid loosing it on the
+       exception raised by the CREATE of an existing table_b.
+
+2001-05-03  Federico Di Gregorio  <fog@debian.org>
+
+       * connection.c (psyco_conn_cursor): reverted to old locking
+       policy, the new caused a nasty deadlock. apparently the multiple
+       connection problem has been solved as a side-effect of the other
+       fixes... (?!)
+
+       * module.h: removes stdkeeper field from connobject, we don't need
+       it anymore.
+
+       * cursor.c (dispose_pgconn): now sets self->keeper to NULL to
+       avoid decrementing the keeper refcnt two times when the cursor is
+       first closed and then destroyed.
+
+       * connection.c (psyco_conn_cursor): fixed little bug in cursor
+       creation: now the connection is locked for the entire duration of
+       the cursor creation, to avoid a new cursor to be created with a
+       new keeper due to a delay in assigning the stdmanager cursor.
+
+       * cursor.c: added calls to pgconn_set_critical() and to
+       EXC_IFCRITICAL() where we expect problems. Still segfaults but at
+       least raise an exception...
+       
+       * cursor.c (psyco_curs_autocommit): added exception if the
+       cursor's keeper is shared between more than 1 cursor.
+
+       * module.h (EXC_IFCRITICAL): added this macro that call
+       pgconn_resolve_critical) on critical errors.
+
+       * cursor.c (alloc_keeper): added check for pgres == NULL. 
+
+       * cursor.c (psyco_curs_destroy): merged psyco_curs_destroy() and
+       psyco_curs_close(): now both call _psyco_curs_close() and destroy
+       does only some extra cleanup.
+
+2001-05-03  Michele Comitini  <mcm@initd.net>
+
+       * ZPsycopgDA/db.py: Some cleanup to bring the zope product up to
+       date with the python module.  Some bugs found thanks to Andre
+       Schubert.  Now the ZDA should rely on the new serialized version
+       of psycopg.
+
+       * cursor.c: while looking for problems in the ZDA some come out
+       here, with the inability to handle dropping connection correctly.
+       This leads to segfaults and is not fixed yet for lack of time.
+       Some problems found in cursors not willing to share the same
+       connection even if they should.  Hopefully it should be fixed
+       soon.
+
+2001-04-26  Federico Di Gregorio  <fog@debian.org>
+
+       * fixed bug reported by Andre Schubert by adding a new cast
+       function for long integers (int8 postgresql type.) at now they are
+       converted to python LongIntegers: not sure f simply convert to
+       floats.
+
+       * michele applied patch from Ivo van der Wijk to make zpsycopgda
+       behave better when INSTANCE_HOME != SOFTWARE_HOME.
+
+       * cursor.c (_psyco_curs_execute): also fill the 'columns' field.
+
+       * module.h: added a 'columns' field to cursobject, to better
+       support the new dictionary fetch functions (dictfetchone(),
+       dictfetchmany(), dictfetchall().)
+
+       * cursor.c: added the afore-mentioned functions (function names
+       are not definitive, they will follow decisions on the DBAPI SIG.)
+
+2001-04-03  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.5.1.
+
+       * mcm fixed a nasty bug by correcting a typo in module.h.
+
+2001-03-30  Federico Di Gregorio  <fog@debian.org>
+
+       * module.c (psyco_connect): added `serialized' named argument to
+       the .connect() method (takes 1 or 0 and initialize the connection
+       to the right serialization state.)
+
+       * Makefile.pre.in (dist): fixed little bug, a missing -f argument
+       to rm.
+
+       * examples/thread_test.py: removed all extension cruft.
+
+       * examples/thread_test_x.py: this one uses extensions like the
+       per-cursor commit, autocommit, etc.
+
+       * README (psycopg): added explanation on how .serialize() works. 
+
+       * connection.c (psyco_conn_serialize): added cursor serialization
+       and .serialize() method on the connection object. now we are
+       definitely DBAPI-2.0 compliant.
+
+2001-03-20  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (_psyco_curs_execute): replaced some fields in
+       description with None, as suggested on the DB-SIG ML.
+
+       * something like one hundred of little changes to allow cursors
+       share the same postgres connection. added connkeeper object and
+       pthread mutexes (both in connobject and connkeeper.) apparently it
+       works. this one will be 0.5.0, i think.
+
+2001-03-19  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c: added mutexes, they do not interact well with python
+       threads :(.
+
+2001-03-16  Michele Comitini  <mcm@initd.net>
+
+       * ZPsycopgDA/db.py (ZDA): some fixes in table browsing.
+
+2001-03-16  Federico Di Gregorio  <fog@debian.org>
+
+       * suite/tables.postgresql (TABLE_DESCRIPTIONS): fixed some typos
+       introduced by copying by hand the type values from pg_type.h.
+
+       * suite/*: added some (badly) structured code to test for
+       DBAPI-2.0 compliance.
+       
+       * cursor.c (pgconn_notice_callback): now the NOTICE processor only
+       prints NOTICEs when psycopg has been compiled with the
+       --enable-devel switch. 
+
+       * connection.c: removed 'autocommit' attribute, now is a method as
+       specified in the DBAPI-2.0 document.
+
+2001-03-15  Federico Di Gregorio  <fog@debian.org>
+
+       * connection.c (curs_commitall): splitted for cycle in two to
+       avoid the "bad snapshot" problem.
+
+2001-03-14  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.4.6.
+       
+       * cursor.c (_psyco_curs_execute): fixed nasty bug, there was an
+       free(query) left from before the execute/callproc split.
+
+       * Preparing for 0.4.6.
+
+2001-03-13  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (psyco_curs_execute): fixed some memory leaks in
+       argument parsing (the query string was not free()ed.)
+       (psyco_curs_callproc): implemented callproc() method on cursors.
+       (_psyco_curs_execute): this is the function that does the real
+       stuff for callproc() and execute().
+       (pgconn_notice_*): added translation of notices into python
+       exceptions (do we really want that?) 
+
+       * configure.in: removed some cruft (old comments and strncasecmp()
+       check)
+
+2001-03-12  Federico Di Gregorio  <fog@debian.org>
+
+       * examples/thread_test.py: added moronic argument parsing: now you
+       can give the dsn string on the command line... :(
+
+       * Release 0.4.5.
+
+2001-03-10  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (request_pgconn): added code to set datestyle to ISO on
+       new connections (many thanks to Yury <yura@vpcit.ru> for the code,
+       i changed it just a little bit to raise an exception on error.)
+
+2001-03-09  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.4.4.
+
+       * ZPsycopgDA/db.py: michele fixed a nasty bug here. 
+
+2001-03-08  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.4.3.
+
+2001-03-07  Federico Di Gregorio  <fog@debian.org>
+
+       * Makefile.pre.in (dist): typeobj_builtins.c included for people
+       without pg_type.h. if you encounter type-casting problems like
+       results cast to the wrong type, simply "rm typeobj_builtins.c" and
+       rebuild.
+
+       * typeobj.c (psyco_*_cast): removed RETURNIFNULL() macro from all
+       the builtin casting functions. (psyco_STRING_cast) does not create
+       a new string anymore, simply Py_INCREF its argument and return it.
+
+       * cursor.c (psyco_curs_fetchone): removed strdup() call. added
+       PQgetisnull() test to differentiate between real NULLs and empty
+       strings.
+
+       * Removed cursor.py (mcm, put tests in examples) and fixed some
+       typos in the dtml code.
+
+2001-03-04  Michele Comitini  <mcm@initd.net>
+
+       * examples/commit_test.py: Modifications to test argument passing
+       and string substitution to cursor functions, nothing more.
+
+       * ZPsycopgDA/db.py: now it exploits some of the good features of
+       the psycopg driver, such as connection reusage and type
+       comparison.  Code is smaller although it handles (and
+       reports) errors much better.
+
+       * cursor.c: corrected a bug that left a closed cursor in the
+       cursor list of the connection.  Now cursors are removed from the
+       lists either when they are close or when they are destroyed.
+       Better connection (TCP) error reporting and handling.
+
+
+2001-03-02  Federico Di Gregorio  <fog@debian.org>
+
+       * examples commit_test.py: added code to test autocommit.
+       
+       * examples/thread_test.py (ab_select): modified select thread to
+       test autocommit mode.
+
+       * Release 0.4.1.
+       
+       * module.h, connection.c, cursor.c: added autocommit support.
+
+2001-02-28  Federico Di Gregorio  <fog@debian.org>
+
+       * Release 0.4.
+
+2001-02-27  Michele Comitini  <mcm@initd.net>
+
+       * cursor.py: cut some unuseful code in psyco_curs_fetchmany() and
+       psyco_curs_fetchall() inserted an assert in case someting goes
+       wrong.
+
+2001-02-27  Federico Di Gregorio  <fog@debian.org>
+
+       * debian/*: various changes to build both the python module and
+       the zope db adapter in different packages (respectively
+       python-psycopg and zope-psycopgda.)  
+
+       * examples/type_test.py: better and more modular tests. 
+
+       * typeobj.c: added DATE, TIME, DATETIME, BOOLEAN, BINARY and ROWID
+       types. (RETURNIFNULL) added NULL-test to builtin conversion
+       functions (using the RETURNIFNULL macro.)
+
+2001-02-26  Federico Di Gregorio  <fog@debian.org>
+
+       * releasing 0.3 (added NEWS file.)
+
+2001-02-26  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c: fetchmany() some cleanup done.
+
+       * ZPsycopgDA/db.py, ZPsycopgDA/__init__.py, : fixes to make the
+       ZDA work some way.  WARNING WARNING WARNING the zda is still
+       alpha code, but we need some feed back on it so please give it
+       a try.
+       
+2001-02-26  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c (psyco_STRING_cast): fixed bad bad bad bug. we
+       returned the string without coping it and the type-system was more
+       than happy to Py_DECREF() it and trash the whole system. fixed at
+       last!
+
+       * module.h (Dprintf): added pid to every Dprintf() call, to
+       facilitate multi-threaded debug.
+
+2001-02-26  Michele Comitini  <mcm@initd.net>
+
+       * module.c: added code so that DateTime package need not to be
+       loaded to have mxDateTime.  This should avoid clashing with
+       DateTime from the zope distribution.
+
+       * cursor.c: setting error message in fetchmany when no more tuples
+       are left. This has to be fixed in fetch and fetchall to.
+
+2001-02-26  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: stepped up version to 0.3, ready to release
+       tomorrow morning. added check for path to DateTime module. 
+
+       * examples/usercast_test.py: generate some random boxes and
+       points, select the boxes with at least one point inside and print
+       them converting the PostgeSQL output using a user-specified cast
+       object. nice. 
+
+2001-02-24  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (psyco_curs_fetchone): now an error in the python
+       callback when typecasting results raise the correct exception.
+
+       * typeobj.c (psyco_DBAPITypeObject_call): removed extra Py_INCREF().
+
+2001-02-23  Federico Di Gregorio  <fog@debian.org>
+
+       * replaced every single instance of the string 'pgpy' with 'psyco'
+       (this was part of the general cleanup.)
+       
+       * type_test.py: added this little test program to the distribution
+       (use the new_type() method to create new instances of the type
+       objects.)  
+
+       * typeobj.c: general cleanup. fixed some bugs related to
+       refcounting (again!)
+
+       * cursor.c: general cleanup. (request_pgconn) simplified by adding
+       a support function (_extract_pgconn.)
+
+       * connection.c: general cleanup. replaced some ifs with asserts()
+       in utility functions when errors depend on programming errors and
+       not on runtime exceptions. (pgpy_conn_destroy) fixed little bug
+       when deleting available connections from the list.
+
+       * module.h: general cleanup.
+
+       * typeobj.h: general cleanup, better comments, made some function
+       declarations extern. 
+
+       * module.c: general cleanup, double-checked every function for
+       memory leaks. (pgpy_connect) removed unused variable 'connection'.
+
+2001-02-22  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c: fixed lots of bugs, added NUMBER type object. now the
+       basic tests in type_test.py work pretty well.
+
+       * cursor.c (pgpy_curs_fetchmany): fixed little bug, fetchmany()
+       reported one less row than available.
+
+       * fixed lots of bugs in typeobj.c, typeobj.h, cursor.c. apparently
+       now the type system works. it is time to clean up things a little
+       bit.
+
+2001-02-21  Federico Di Gregorio  <fog@debian.org>
+
+       * typeobj.c: separated type objects stuff from module.c
+       
+       * typeobj.h: separated type objects stuff from module.h 
+
+2001-02-19  Federico Di Gregorio  <fog@debian.org>
+
+       * cursor.c (pgpy_curs_fetchmany): now check size and adjust it to
+       be lesser or equal than the nuber of available rows.
+
+2001-02-18  Michele Comitini  <mcm@initd.net>
+
+       * module.c, module.h: added optional args maxconn and minconn to
+       connection functions
+
+       * cursor.c: better error checking in request_pgconn.
+
+       * connection.c: changed new_connect_obj to take as optional args
+       maxconn and minconn. Added the corresponding ro attributes to
+       connection objects.
+
+       * cursor.py: added some code to stress test cursor reusage.
+
+       * cursor.c: some fixes on closed cursors.
+
+       * connection.c: corrections on some assert calls.
+
+2001-02-16  Federico Di Gregorio  <fog@debian.org>
+
+       * configure.in: added --enable-priofile sqitch. changed VERSION to
+       0.2: preparing for a new release.
+
+       * cursor.c: added a couple of asserts.
+
+2001-02-16  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c, connection.c: fixed the assert problem: assert must
+       take just the value to be tested! no assignemente must be done in
+       the argument of assert() otherwise is wiped when NDEBUG is set.
+
+       * module.h: some syntax error fixed.  Error in allocating a tuple
+       corrected in macro DBAPITypeObject_NEW().
+       
+       * module.c: pgpy_DBAPITypeObject_init() is not declared static anymore.
+
+       * cursor.c: executemany() now does not create and destroy tuples
+       for each list item, so it is much faster.
+
+2001-02-14  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c:  added again Py_DECREF on the cpcon after disposing
+       it.  assert() with -DNDEBUG makes the driver segfault while it
+       should not.
+       
+
+2001-02-13  Federico Di Gregorio  <fog@debian.org>
+
+       * some of the memory leak were memprof errors, bleah. resumed some
+       old code, fixed segfault, fixed other bugs, improved speed. almost
+       ready for a new release.
+       
+       * connection.c (pgpy_conn_destroy): replaced some impossible ifs
+       with aseert()s.
+
+       * cursor.c (pgpy_curs_close): added Py_DECREF() to
+       self->descritpion to prevent a memory leak after an execute().
+
+       * connection.c (pgpy_conn_destroy): always access first element of
+       lists inside for cycles because removing items from the list makes
+       higher indices invalid.
+
+       * cursor.c (dispose_pgconn): fixed memory leak, there was a
+       missing Py_DECREF() after the addition of the C object wrapping
+       the postgresql connection to the list of available connections.
+
+       * cursor.c (dispose_pgconn): fixed another memory leak: an
+       orphaned cursor should call PQfinish() on its postgresql
+       connection because it has no python connection to give the
+       postgresql ine back.
+
+       * cursor.c (pgpy_curs_execute): added Py_DECREF() of description
+       tuple after adding it to self->description. this one fixes the
+       execute() memory leak.
+       
+       * cursor.c (pgpy_curs_fetchall): added missing Py_DECREF() on row
+       data (obtained from fetchone().) this fixes the last memory leak.
+       (thread_test.py now runs without leaking memory!)
+
+2001-02-12  Federico Di Gregorio  <fog@debian.org>
+
+       * INSTALL: removed wok cruft from head of this file.
+
+       * debian/rules: debianized the sources. python-psycopg is about to
+       enter debian. mxDateTime header locally included until the
+       maintainer of python-mxdatetime includes them in his package
+       (where they do belong.)
+
+       * autogen.sh: added option --dont-run-configure. 
+
+2001-02-09  Federico Di Gregorio  <fog@debian.org>
+
+       * module.c (initpsycopg): changed name of init function to match
+       new module name (also changed all the exception definitions.)
+
+       * README: updated psycopg description (we have a new name!)
+
+       * Ready for 0.1 release.
+
+2001-02-07  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c: now executemany takes sequences and not just
+       tuples 
+
+2001-02-07  Federico Di Gregorio  <fog@debian.org>
+
+       * Makefile.pre.in: now dist target includes test programs
+       (thread_test.py) and README and INSTALL files. 
+
+       * configure.in: changed --with-devel to --enable-devel. little
+       cosmetical fixes to the option management.
+       
+       * connection.c, module.c, cursor.c, module.h: removed 'postgres/'
+       from #include directive. it is ./configure task to find the right
+       directory.
+
+       * thread_test.py: added thread testing program.
+
+2001-02-07  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c: added code to allow threads during PQexec() calls.
+       
+       * cursor.c: added begin_pgconn to rollback() and commit()
+       so that the cursror is not in autocommit mode.
+
+       * cursor.c: added rollback() and commit() methods to cursor
+       objects.
+
+
+2001-02-07  Federico Di Gregorio  <fog@debian.org>
+
+       * connection.c (pgpy_conn_destroy): always delete item at index
+       0 and not i (because items shift in the list while deleting and
+       accessing items at len(list)/2 segfaults.)
+
+2001-02-07  Michele Comitini  <mcm@initd.net>
+
+       * connection.c: added some more checking to avoid
+       clearing of already cleared pgresults.  Calling curs_closall()
+       in conn_destroy() since cursors have to live even without
+       their parent connection, otherwise explicit deletion of
+       object referencing to those cursors can cause arbitrary code
+       to be executed.
+
+       * cursor.c: some more checking to avoid trying to close
+       already close pgconnections.
+
+2001-02-06  Federico Di Gregorio  <fog@debian.org> 
+
+       * Makefile.pre.in (CFLAGS): added -Wall to catch bad programming
+       habits. 
+
+       * cursor.c, connection.c: lots of fixes to the destroy stuff. now
+       all the cursor are destroyed *before* the connection goes away.
+
+       * cursor.c (request_pgconn): another idiot error done by not
+       replacing dsn with owner_conn->dsn. fixed.
+       (dispose_pgconn): commented if to guarantee that the connection is
+       returned to the pool of available connections.
+
+       * merged changes done by mcm.
+
+       * cursor.c: general cleanup and better debugging/error
+       messages. changed xxx_conn into xxx_pgconn where still
+       missing. some pretty big changes to the way pgconn_request()
+       allocates new connections.
+
+       * connection.c: removed all 'register' integers. obsolete, gcc
+       does a much better job optimizing cycles than a programmer
+       specifying how to use registers. 
+
+       * module.h: some general cleanup and better definition of DPrintf
+       macro. now the DEBUG variable can be specified at configure time by
+       the --with-devel switch to ./configure.
+
+2001-02-02  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (Repository): Added functions for managing a connection
+       pool. Segfaults.
+
+       * configure.in (Repository): removed check for mxdatetime headers.
+
+2001-01-24  Federico Di Gregorio  <fog@debian.org>
+
+       * first checkout from shinning new init.d cvs.
+
+       * autotoolized build system. note that the mx headers are missing
+       from the cvs, you should get them someplace else (this is the
+       right way to do it, just require the headers in the configure
+       script.)
+
+2001-01-21  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (Repository): commit, abort, begin functions now check
+       the right exit status of the command.
+
+       * connection.c (Repository): working commit() and rollback()
+       methods.
+
+2001-01-20  Michele Comitini  <mcm@initd.net>
+
+       * module.h (Repository): added member to cursor struct to handle
+       queries without output tuples.
+
+       * cursor.c (Repository): new working methods: executemany,
+       fetchone, fetchmany, fetchall.
+
+2001-01-18  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (Repository): close working. destroy calling close.
+       close frees pg structures correctly.
+
+       * connection.c (Repository): close method working.  destroy seems
+       working.
+
+2001-01-17  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (Repository): now each python cursor has its own
+       connection.  Each cursor works in a transaction block.
+
+       * connection.c (Repository): added cursor list to connection
+       object
+
+2001-01-14  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (Repository): Beginning of code to implement cursor
+       functionalities as specified in DBA API 2.0, through the use of
+       transactions not cursors.
+
+       * connection.c (Repository): Added some error checking code for pg
+       connection (will be moved to cursor?).
+
+2001-01-13  Michele Comitini  <mcm@initd.net>
+
+       * connection.c (Repository): Added error checking in connection
+       code to fail if connection to the db could not be opened.
+
+       * module.h (Repository): New macro to help creating
+       DBAPITypeObjects.
+
+       * module.c (Repository): DBAPITypeObject __cmp__ function is now
+       very simplified using recursion.
+
+       * module.h (Repository): "DBAPIObject" changed to
+       "DBAPITypeObject".
+
+       * module.c (Repository): Fixes for coerce function of DBAPIObjects
+       by Federico Di Gregorio <fog@initd.net>.
+       (Repository): Clean up and better naming for DBAPITypeObjects.
+
+2001-01-08  Michele Comitini  <mcm@initd.net>
+
+       * module.c (Repository): Corrected the exception hierarcy
+
+       * connection.c (Repository): Begun to use the connection objects
+       of libpq
+
+2001-01-07  Michele Comitini  <mcm@initd.net>
+
+       * module.c (Repository): Added the Date/Time functions.
+
+2001-01-06  Michele Comitini  <mcm@initd.net>
+
+       * cursor.c (Repository): Skeleton of cursor interface.  All
+       methods and attributes of cursor objects are now available
+       in python.  They do nothing now.
+
+2001-01-05  Michele Comitini  <mcm@initd.net>
+
+       * module.c (Repository): Test version; module loaded with 
+       exception defined.
+       
+2001-01-05  Michele Comitini  <mcm@initd.net>
+
+       * Setup.in (Repository): Setup file.
+
+       * Makefile.pre.in (Repository): from the python source.
+
+2001-01-05  Michele Comitini  <mcm@initd.net>
+
+       * module.c: Written some code for defining exceptions.
+       
+       * module.h: Static variable for exceptions.
+       
+2001-01-04  Michele Comitini  <mcm@initd.net>
+
+       * Changelog: pre-release just a few prototypes to get started.
+       
+