X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=psycopg2%2FChangeLog;fp=psycopg2%2FChangeLog;h=b273e20dff54fbc75c5103428d8c4aa70a08110e;hb=e5bdc26e1423689c0ab3204931335787737946ea;hp=0000000000000000000000000000000000000000;hpb=f8dd312990da7cc744e1c148bfd395c18492f3f1;p=plcapi.git diff --git a/psycopg2/ChangeLog b/psycopg2/ChangeLog new file mode 100644 index 0000000..b273e20 --- /dev/null +++ b/psycopg2/ChangeLog @@ -0,0 +1,1219 @@ +2006-09-02 Federico Di Gregorio + + * Release 2.0.5.1. + + * psycopg/cursor_type.c: applied patch from Jason Erickson to + build on MSVC and older gcc. + +2006-09-01 Federico Di Gregorio + + * Release 2.0.5. + + * Fixed patch from #119, see tracker for details. + + * Preparing release 2.0.5. + + * psycopg/psycopgmodule.c: fixed filling of connection errors + to include OperationalError. + + * setup.py: removed pydatetime option from initialize_options + to make sure that the value in setup.cfg is used. + + * psycopg/psycopgmodule.c: applied patch from jdahlin (#120) + to have .connect() accept either a string or int as the port + parameter. + + * psycopg/adapter_binary.c: applied patch from jdahlin (#119) + to fix the segfault on empty binary buffers. + + * psycopg/connection_type.c: added .status attribute to expose + the internal status. + + * psycopg/pqpath.c: applied patch from intgr (#117) to fix + segfault on null queries. + + * psycopg/cursor_type.c: applied patch from intgr (#116) to + fix bad keyword naming and segfault in .executemany(). + + * ZPsycopgDA/DA.py: applied ImageFile patch from Charlie + Clark. + + * lib/pool.py: applied logging patch from Charlie Clark. + It will probably get a makeup and be moved to the top-level + module later. + +2006-08-02 Federico Di Gregorio + + * Release 2.0.4. + + * Fixed bug in float conversion (check for NULL string was + erroneously removed in 2.0.3!) + +2006-07-31 Federico Di Gregorio + + * Release 2.0.3. + + * psycopg/cursor_type.c: applied patch from jbellis (#113) to + allow column selection in .copy_from(). + + * psycopg/psycopgmodule.c: fixed memory leak in custom exceptions + (applied patch from #114). + +2006-07-26 Federico Di Gregorio + + * psycopg/adapter_datetime.c (pydatetime_str): fixed error + in conversion of microseconds for intervals and better algo + (thanks to Mario Frasca.) + +2006-06-18 Federico Di Gregorio + + * psycopg/adapter_binary.c: same as below. + + * psycopg/adapter_qstring.c: does not segfault anymore if + .getquoted() is called without preparing the qstring with + the connection. + +2006-06-15 Federico Di Gregorio + + * psycopg/typecast_basic.c: fixed problem with bogus + conversion when importing gtk (that was crazy, I didn't + understand why it happened but the new code just fixes it.) + + * ZPsycopgDA/db.py: better type analisys, using an hash + instead of a series of if (variation on patch from Charlie + Clark.) + +2006-06-11 Federico Di Gregorio + + * Release 2.0.2. + + * psycopg/typecast_array.c (typecast_array_cleanup): fixed a + problem with typecast_array_cleanup always returning the new + string length shorter by 1 (Closes: #93). + + * psycopg/adapter_binary.c: as below. + + * psycopg/adapter_qstring.c: wrapped #warning in #ifdef __GCC__ + because other compilers don't have it and it will just break + compilation (patch from jason, our great win32 builder). + + * psycopg/adapter_list.c: applied patch to adapt an empty list + into an empty array and not to NULL (from iGGy, closes: #108). + + * psycopg/cursor_type.c: applied patch from wkv to avoid + under-allocating query space when the parameters are not of the + right type (Closes: #110). + + * psycopg/connection_int.c: applied patch from wkv to avoid off + by one allocation of connection encoding string (Closes: #109). + +2006-06-09 Federico Di Gregorio + + * Release 2.0.1. + + * Fixed some buglets in ZPsycopgDA (was unable to load due + to shorter version number in psycopg module.) + +2006-06-08 Federico Di Gregorio + + * Release 2.0. + + * ZPsycopgDA/DA.py: removed Browse table for 2.0 release; we'll + add it back later. + +2006-05-26 Federico Di Gregorio + + * Applied better PostgreSQL patch from AA. + +2006-05-24 Federico Di Gregorio + + * Enabled 8.1.4 security fix only when the version is >= 8.1.4, fall + back to old code otherwise. + + * psycopg/adapter_qstring.c: now quote using PQescapeStringConn if + available. + + * psycopg/adapter_binary.c: now quote using PQescapeByteaConn if + available. + +2006-04-38 Federico Di Gregorio + + * setup.py: fixed little problem with mx_include_dir as suggested + by kvc (this closes #102). + +2006-04-24 Federico Di Gregorio + + * psycopg/adapter_pboolean.c: added the possibility to format boolean + values as "true" and "false" instead of "'t'" and "'f'". + +2006-03-08 Federico Di Gregorio + + * lib/extras.py: added .next() to DictCursot to support iteration. + +2006-03-02 Federico Di Gregorio + + * psycopg/typecast_array.c (typecast_array_tokenize): removed cast + to build without warnings on 64 bit arches. + +2006-02-11 Federico Di Gregorio + + * Release 2.0 beta 8. + + * psycopg/config.h: applied patch from Jason to fix handle leak on + win32, as documented in #92. + +2006-02-11 Federico Di Gregorio + + * Release 2.0 beta 7. + + * psycopg/psycopgmodule.c: applied fix for memory overflow in + connect() (reported by solt, #91.) + + * setup.py: applied patch from lbruno. + +2006-01-11 Federico Di Gregorio + + * setup.py: does not report an error in pg_config unless the pg_config + was explicitly set (allows for building with old options.) + +2006-01-06 Daniele Varrazzo + + * setup.py: libpq.dll not used anymore. win32 setup uses pg_config too. + +2006-01-05 Federico Di Gregorio + + * psycopg/psycopgmodule.c (psyco_set_error): added function to set extra + parameters on ProgrammingError instances. Also modified all occurances of + PyErr_SetString(ProgrammingError,...) to psycopg_set_error(). + + * setup.{cfg,py}: we now use pg_config to locate PostgreSQL libraries + and headers (modified patch from lbruno, see #70.) + +2006-01-01 Federico Di Gregorio + + * Preparing release 2 beta 7. + + * MANIFEST.in: we now distrbute pre-built documentation (still need + to add to setup.py the code necessary to build docs as part of the + build process.) + + * psycopg/connection_int.c: PostgreSQL encoding names are now force + uppercase (after all PostgreSQL documentation reports them this way.) + +2005-12-11 Federico Di Gregorio + + * psycopg/typecast_array.c (typecast_array_cleanup): added functio + to cleanup the "[...]=" part of an array result. This probably will + need some more work for nested arrays but it fixed every test I was + able to write. (Closes: #80) + +2005-12-11 Federico Di Gregorio + + * setup.py: half-applied patch from Tavis to specify mx_include_dir + in setup.cfg. + + * psycopg/typecast.c (typecast_parse_time): cz limit in the while + loop is 6, not 5. This solve the problem with "fractionary" time zones + and fixes #78. + +2005-12-06 Federico Di Gregorio + + * lib/extras.py: added .callproc() to DictCursor as suggested + by Philip Semanchuk. + +2005-11-29 Federico Di Gregorio + + * MANIFEST.in: added docs/async.txt. (Closes: #75) + +2005-11-26 Daniele Varrazzo + + * psycopg/psycopgmodule.c: fixed exceptions refcount. + + * Fixed lots of doctrings and added Epydoc-generated docs support. + +2005-11-24 Federico Di Gregorio + + * sandbox: added all the test and creash-me files to the repository. + + * psycopg/typecast.c (typecast_dealloc): now directly calls + PyObject_Del to avoid to segfault. + +2005-11-20 Federico Di Gregorio + + * psycopg/typecast.c: fixed problem with microseconds conversion by + applying slightly modified patch from Ronnie Mackay. + +2005-11-19 Federico Di Gregorio + + * lib/extensions.py: COMMITED -> COMMITTED. (Closes: #73) + + * doc/extensions.rst: included Daniele's work after minor cosmetic changes + like using the new constants instead of numbers for transaction isolation + levels. + +2005-11-17 Federico Di Gregorio + + * ZPsycopgDA/pool.py: fixed connections leak by using the new name + (PersistentConnectionPool) for the old connection pool class. + +2005-11-16 Federico Di Gregorio + + * Preparing release 2.0 beta 6. + + * psycopg/adapter_mxdatetime.c: fixed all problems with mx conversions. + + * psycopg/typecast.c: now the timezone is set correctly even if there + are no microseconds and/or the offset is 0; + + * examples/encoding.py: fixed example by using python utf8 encoding for + the whole file. + + * lib/__init__.py: very nice hack from Harald Armin Massa to allow + py2exe and similar tools to do their work without problems. + +2005-11-15 Federico Di Gregorio + + * psycopg/psycopgmodule.c: now bails out with correct exception when one + of the needed modules can't be imported (should fix #32.) + +2005-11-14 Federico Di Gregorio + + * psycopg/typecast.c: added typecast_parse_date and typecast_parse_time + functions to do locale-safe date/time parsing. This would probably also + speed-up psycopg a little bit. + +2005-11-07 Federico Di Gregorio + + * psycopg/pqpath.c: fixed problem with uninitialized value (all this was + started by replacing calloc() calls with PyMem_Malloc().) + +2005-11-04 Federico Di Gregorio + + * psycopg/typecast.c: a lot of changes: + - made typecast a new-style type + - removed coerce code and implemented the richcompare protocol that + allows to compare objects of different types + - much better __cmp__ method that allows to compare two typecast + objects and returns True if any two of the mapped oids match + - any object that can be used as an int works as right-hand operand + in __cmp__ operations + + * psycopg/typecast_datetime.c: now typecast_PYINTERVAL_cast limit the + scan to 'len' characters in the string (should fix #65.) + +2005-11-03 Federico Di Gregorio + + * Applied patch from Daniele Varazzo to enable Decimal on Python + 2.3 when the module is available (run-time check, nice.) + +2005-10-26 Federico Di Gregorio + + * setup.cfg: added include_dirs line for SUSE 9.3. + +2005-10-22 Federico Di Gregorio + + * psycopg/cursor_type.c: added support for named cursors: + - .fetchXXX() methods now execute a FETCH if the cursor is named + - .execute() executes a DECLARE if the cursor is named + - .execute() fails if a named cursor is used in autocommit + - .executemany() can't be called on named cursors + - .scroll() executes a MOVE if the cursor is named + - .close() executes a CLOSE if the cursor is named + Also, a "transaction mark" was added to both the connection and the + cursor and an exception is raised when using a named cursor unless the + two marks correspond. + + * psycopg/connection_int.c: snprintf->PyOS_snprintf. + + * psycopg/psycopgmodule.c: snprintf->PyOS_snprintf. + + * psycopg/cursor_type.c: changed self->query type from C string to + PyObject* to better manage queries in named cursors. + + * psycopg/psycopgmodule.c: cleaned up exception names (now the errors + is printed as psycopg2.Error and not as the confusing + psycopg2._psycopg.Error.) + +2005-10-20 Federico Di Gregorio + + * lib/pool.py: renamed ThreadedConnectionPool to PersistentConnectionPool + and added a connection pool that allows multiple connections per thread + as ThreadedConnectionPool (courtesy of Daniele Varrazzo.) + +2005-10-19 Federico Di Gregorio + + * Releasing 2.0 beta 5. + + * psycopg/adapter_mxdatetime.c: reverted to old strftime method to format + mx.DateTime objects; the new method didn't worked in some corner-cases. + This makes impossible to have more than 2 decimal places for seconds but + at least we get the time right every time. + +2005-10-18 Federico Di Gregorio + + * NOTIFY is back end working. + + * psycopg/connection_type.c: fixed problem with initialization of + notifies list (also fixed small memory leak in connection dealloc.) + + * examples/notify.py: added NOTIFY example. + + * psycopg/cursor_type.c: added per-cursor type-casters dictionaries. + +2005-10-18 Federico Di Gregorio + + * psycopg/typecast.c: temporary fix to typecasting objects to return + False for any comparaison except an integer in self.values (i.e., we + don't raise an exception anymore on a coerce error.) Epydoc is now + happy. + + * psycopg/config.h: ZETA config.h patch from Charlie Clark. + + * examples/threads.py: fixed small typo: psycopg -> psycopg2. + + * Big cleanup of unsigned chars to tame gcc 4. + + * Big cleanup of module names (i.e., psycopg2._psycopg everywhere.) + + * psycopg/config.h: added fake localtime_r for platforms missing it + + * psycopg/cursor_type.c: cursors now have a FixedOffsetTimezone + tzinfo_factory by default. + + * psycopg/adapter_datetime.c: added tzinfo argument to psycopg2.Time and + psycopg2.Timestamp. Also now TimestampFromTicks sets the tzinfo object + to psycopg2.tz.LOCAL. + +2005-10-17 Federico Di Gregorio + + * psycopg/adapter_datetime.c: we now use localtime() instead of gmtime() + to accound for the local time-zone in timestamps. + + * psycopg/connection_type.c: fixed docstring for .cursor(). + + * psycopg/psycopgmodule.c: added useful docstring for .connect(). + +2005-10-08 Federico Di Gregorio + + * psycopg/connection_type.c: isolation level upper bound set to 2. + + * lib/psycopg1.py: explicitly set isolation level to 2 on .connect() + to mimic psycopg 1 behaviour. + + * psycopg/connection_int.c: now set isolation level from + default_transaction_isolation backend environment value. + + * psycopg/pqpath.c: removed serialization level 3: now everybody + (except me) has to use the mnemonics defined in psycopg2.extensions. + + * lib/extensions.py: Added mnemonics for serialization levels. + +2005-10-02 Federico Di Gregorio + + * psycopg/cursor_type.c (psyco_curs_callproc): applied callproc + patch from Matt Goodall (added a check on _psyco_curs_execute + return value and substituted malloc/free with PyMem versions.) + +2005-10-01 Federico Di Gregorio + + * psycopg/connection_int.c: fixed segfault by moving PyErr_Format + after GIL acquisition (closes: #50). + + * psycopg/connection_type.c: applied patch from Matt Goodall to + fix some doc strings. + +2005-09-23 Federico Di Gregorio + + * lib/pool.py: applied patch from piro to avoid the scan of the + whole connection array on getconn(). + +2005-09-12 Federico Di Gregorio + + * lib/pool.py: Applied psycopg->psycopg2 patch to from bug #35. + + * ZpsycopgDA/db.py: fixed problem with OperationalError that + resulted in cryptic message to Zope users ("'OperationalError' is + not defined".) + +2005-08-23 Federico Di Gregorio + + * setup.py: applied patch from Daniele Varrazzo to avoid segfaults + when compiling with migw for Python 2.4.x. + + * psycopg/adapter_mxdatetime.c (mxdatetime_str): ported code from 1.1.x + to convert mxDateTime object preserving the precision of fractional + seconds. + +2005-08-22 Federico Di Gregorio + + * ZPsycopgDA/*.py: psycopg -> psycopg2. + + * setup.py: modified to install the module components under + psycopg2 on windows too (thanks to Daniele Varrazzo.) + +2005-08-07 Federico Di Gregorio + + * psycopg/config.h: added __sun__ to the symbols checked for round() + +2005-07-21 Federico Di Gregorio + + * psycopg/adapter_datetime.c (psyco_XXXFromTicks): fixed the 1900 + years offset reported by Jeroen van Dongen (see ticket #33). + +2005-07-17 Federico Di Gregorio + + * Release 2.0 beta 4. + + * lib/extras.py (DictConnection.cursor): added DictConnection to + make easier to retrieve data in DictRows. + +2005-06-24 Federico Di Gregorio + + * psycopg/typecast_datetime.c (typecast_PYINTERVAL_cast): applied patch + from Geert Jansen to fix interval bug due to overflow. + +2005-06-18 Federico Di Gregorio + + * setup.cfg: some clarifications and include_dirs example for Mandrake. + + * ZPsycopgDA/DA.py: DTMLFile -> HTMLFile everywhere to fix zope + cut&paste problems. + + * MANIFEST.in: added missing files to do bdist_rpm. + + * lib/psycopg1.py: fixed .dictfetchrow() to return None if fetchone() + returns None instead of raising an exception. + + * ZPsycopgDA/icons: replaced corrupted icons with good ones. + +2005-06-13 Federico Di Gregorio + + * psycopg/psycopgmodule.c (psyco_connect): changed the port keyword + parameter type to int (instead of string); this should fix #23. + + * psycopg/cursor_type.c (_psyco_curs_execute): now checks for + empty queries and raise a ProgrammingError if appropriate (closes: + #24). + + * setup.py: psycopg module renamed to psycopg2. + +2005-06-02 Federico Di Gregorio + + * psycopg/cursor_type.c (_psyco_curs_execute): fixed segfault when + not passing string or unicode to .execute(). + +2005-06-01 Federico Di Gregorio + + * examples/fetch.py: added example about using DECLARE CURSOR. + + * psycopg/adapter_datetime.c (psyco_TimestampFromTicks): "Hmmm, + looks like someone forgot that C expects months to start counting + from 0, but the Python date routines start counting from 1." That + was me: fixed. + +2005-05-31 Federico Di Gregorio + + * psycopg/cursor_type.c (_psyco_curs_execute): if a + UnicodeEncodeError is raised during the converion of a unicode + query we let it propagate insead of segfaulting. + +2005-5-27 Federico Di Gregorio, + + * tests/types_basic.py: fixed float and binary tests. + +2005-05-26 Federico Di Gregorio + + * Release 2.0b3. + + * ZPsycopgDA/db.py (DB.convert_description): isolated description + conversion (and fixed the conversion as per #18). + + * ZPsycopgDA/DA.py: fixed again; this time Zope should work for + real. :/ Also fixed the type-casters (psycopg 2 added the extra + cursor parameter) as reported in #18. + + * psycopg/psycopgmodule.c (init_psycopg): fixed Python 2.2 build. + +2005-05-19 Federico Di Gregorio + + * Release 2.0b2. + + * lib/extras.py (DictRow): Some extra methods for DictRow. + + * psycopg/cursor_type.c (_psyco_curs_execute): added explict check + to avoid using None as bound variables (very importand for cursor + subclasses calling cursor.execute(self, query, None). + +2005-05-18 Federico Di Gregorio + + * ZPsycopgDA/DA.py (ALLOWED_PSYCOPG_VERSIONS): updated to work + with 2.0b2 only (will support only the exact version untill final + 2.0 release.) + + * setup.py: Applied combined patch from Daniele Varrazzo and Jason + Erickson to build on win32 using MSVC or mingw. + +2005-05-15 Federico Di Gregorio + + * psycopg/microprotocols.c (microprotocols_adapt): fixed memory + leak on None as suggested by gh (closes: #16). + +2005-05-10 Federico Di Gregorio + + * lib/extras.py (DictRow): we now save a reference to the index + itself and not to the cursor to avoid problems while accessing + DictRow objects after reusing the cursor for a different query + (using Kevin Jacobs db_row would be much better but DictRow is + just an example, right?) + +2005-05-09 Federico Di Gregorio + + * Release 2.0 beta 1. + + * psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): fixed a + typo (pyDateTimeModuleP->pyDateTimeTypeP) that was causing errors + with infinite datetime values. + + * psycopg/adapter_binary.c (binary_str): Py_XINCREF on the buffer + that can be NULL on error. + + * psycopg/typecast_binary.*: applied slightly modified + chunk/buffer object patch to allow round-trip of buffer objects + (BYTEA columns.) + + * psycopg/cursor_type.c (psyco_curs_executemany): applied slightly + fixed patch from wrobell to allow iterators in .executemany(). + +2005-04-18 Federico Di Gregorio + + * MANIFEST.in: included debian directory. + +2005-04-10 Federico Di Gregorio + + * psycopg/adapter_list.*: added list adapter. + + * psycopg/microprotocols.c (microprotocol_getquoted): moved + _mogrify_getquoted into utility function in the microprotocols + library. + + * setup.py: Added extensive error message on missing datetime + headers. + + * Applied mingw patch from Daniele Varazzo. + +2005-04-03 Federico Di Gregorio + + * lib/psycopg1.py (connection.autocommit): added compatibility + .autocommit() method. + + * psycopg/psycopgmodule.c (psyco_connect): factory -> + connection_factory. + + * lib/psycopg1.py: added psycopg 1.1.x compatibility module. + +2005-03-29 Federico Di Gregorio + + * Applied patch to fix tuple count. + + * psycopg/pqpath.c (pq_is_busy): Staring from bug report from + Jason Erickson fixed segfaults due to calling Python function + without holding the GIL. + +2005-03-24 Federico Di Gregorio + + * psycopg/adapter_binary.c (binary_escape): propagated Andrea's + fix to binary adapter. + + * psycopg/adapter_qstring.c (qstring_quote): applied patch from + Andrea Arcangeli to fix allocation failures (>4Gb) on 64 bit + arches. + + * psycopg/typecast_array.c (typecast_array_tokenize): much better + tokenization code. + +2005-03-23 Federico Di Gregorio + + * psycopg/typecast_basic.c: all the basic casters now respect the + passed string length. + + * psycopg/typecast.c (typecast_cast): set curs->caster to self + during the type-casting. + + * psycopg/cursor_type.c: added "typecaster" attribute to the + cursor (this is safe, cursors can't be shared among threads and + the attribute is RO.) + +2005-03-22 Federico Di Gregorio + + * psycopg/typecast_array.c: added some more structure to implement + array typecasting. + + * scripts/buildtypes.py: new version to include array data. + +2005-03-15 Federico Di Gregorio + + * lib/extensions.py: Added AsIs import. + +2005-03-12 Federico Di Gregorio + + * psycopg/cursor.h: removed "qattr", not used anymore and added + "cast", holding the typecaster currently in use. + + * Release 1.99.13. + + * psycopg/cursor_type.c (psyco_curs_executemany): implemented as a + wrapper to extract python arguments and then call + _psyco_curs_execute(). + + * psycopg/cursor_type.c (_psyco_curs_execute): splitted away + python argument parsing from the real execute code, to later allow + for .executemany(). + + * psycopg/cursor_type.c (_psyco_curs_buildrow_fill): modified to + call typecast_cast(). + + * psycopg/typecast.c (typecast_call/typecast_cast): modified + typecast_call to use the new typecast_cast that avoids one string + conversion on every cast. + +2005-03-04 Federico Di Gregorio + + * Release 1.99.12.1. + + * psycopg/adapter_asis.c (asis_str): changed call to PyObject_Repr + to PyObject_Str to avoid problems with long integers. + +2005-03-03 Federico Di Gregorio + + * psycopg/typecast.h: added array casting functions. + + * scripts/maketypes.sh: does not generate pgversion.h anymore. + + * Updated all examples for the release. + +2005-03-02 Federico Di Gregorio + + * Release 1.99.12. + + * psycopg/adapter_*.c: added __conform__ to all adapters. + + * psycopg/adapter_qstring.c (qstring_quote): we now use + PyString_AsStringAndSize() instead of strlen() that would stop at + the first embedded \0 (but note that libpq quoting function will + truncate the string anyway!) + + * COPY TO implemented using both old and new (v3) protocol. + + * psycopg/pqpath.c (_pq_copy_out_v3): implemented and working. + + * psycopg/cursor_type.c (psyco_curs_copy_to): added cursor object + interface for copy_to. + + * COPY FROM implemented using both old and new (v3) protocol. + + * psycopg/config.h (Dprintf): declaration for asprintf is gone. + + * psycopg/pqpath.c (_pq_copy_in_v3): implemented. + +2005-03-01 Federico Di Gregorio + + * setup.py: now we generate a slighly more verbose version string + that embeds some of the compile options, to facilitate users' bug + reports. + + * psycopg/cursor_type.c (psyco_curs_copy_from): we now use + PyOS_snprintf instead of asprintf. On some platforms this can be + bad (win32).. if that's your case, get a better platform. :/ + + * psycopg/microprotocols.c (microprotocols_adapt): fixed small + typo that made adaptation using __conform__ impossible. + +2005-02-28 Federico Di Gregorio + + * lib/extras.py: removed AsIs adapter (now a built-in); also + removed prepare() method from the adapters that don't use it to + avoid an extra method call at mogrification time. + + * psycopg/psycopgmodule.c (psyco_adapters_init): added + initialization of the AsIs adapter (adapts int, long, float and + *wonder* None!) + + * psycopg/cursor_type.c (_mogrify_getquoted): reorganized the code + to adapt and then call .getquoted() to obtain the quoted data into + this new function. + +2005-2-27 Federico Di Gregorio + + * examples/myfirstrecipe.py: fixed adapter registration. + +2005-2-7 Federico Di Gregorio + + * setup.py: added patch by Valentino Volonghi to build on MacOS X. + +2005-01-29 Federico Di Gregorio + + * psycopg/pqpath.c (_pq_fetch_tuples): fixed scale-related + segfault (*fourth* mail from Andrea. Another couple like this and + psycopg 2 will exit alpha at warp speed.) + + * psycopg/pqpath.c (pq_fetch): _pq_copy_out_3 -> _pq_copy_out_v3 + (second and third mail from Andrea. :/) + + * psycopg/cursor_type.c (_psyco_curs_has_write_check): added check + on .write() attribute, fixed compilation problems (first mail from + Andrea Arcangeli.) + +2005-01-20 Federico Di Gregorio + + * lib/extensions.py (register_adapter): added register_adapter + function, exported ISQLQuote in psycopg.extensions. + +2005-01-18 Federico Di Gregorio + + * psycopg/pqpath.c (_pq_fetch_tuples): ported scale/precision fix + from psycopg 1.1. + + * LICENSE: detailed licensing information. Re-licensed some parts + under BSD-like to allow integration is pysqlite. + +2005-01-13 Federico Di Gregorio + + * ZPsycopgDA/db.py (DB.query + ): ported ZPsycopgDA connection fix + from psycopg 1.1. + + * lib/*.py: added pydoc-friendly messages. + +2005-01-12 Federico Di Gregorio + + * Added debian directory (thanks to W. Borgert who sent initial + patch based on cdbs.) + +2004-12-20 Federico Di Gregorio + + * psycopg/pqpath.c (pq_execute): removed multiple calls to + pq_fetch in syncronous DBAPI compatibility mode to solve rowcount + problem. + +2004-12-14 Federico Di Gregorio + + * Mm.. release 1.99.11. + + * psycopg/cursor_type.c (_psyco_curs_prefetch): fixed bug in + interaction between the .isready() method and + _psyco_curs_prefetch: isready now store away the pgres but leave + prefetch do its work. + + * psycopg/*.c: changed the names of most of the psycopg's built-in + types to replect their position in the psycopg._psycopg module. + +2004-12-10 Federico Di Gregorio + + * psycopg/cursor_type.c: now *all* write or async accesses to the + connection object are arbitrated using the connection lock. + + * psycopg/cursor_type.c (psyco_curs_isready): now we reset the + current async cursor if it is ready, to allow other cursors to + .execute() without raising the "transaction in progress" error. + + * psycopg/pqpath.c (pq_is_busy): gained status of high-level + function with its own blocking and locking. + + * psycopg/cursor.h (EXC_IF_CURS_CLOSED): also checks the + connection (a closed connection implies a closed cursor.) + + * psycopg/cursor_type.c: cursor's connection is correctly + INCREFfed and DECREFfed. + + * psycopg/connection_type.c: removed the cursors list from the + connection object. It is not necessary anymore for the connection + to know about the cursors and the reference counting will keep the + connection alive (but possibly closed) until all cursors are + garbage collected. + +2004-11-20 Federico Di Gregorio + + * psycopg/cursor_type.c (_mogrify): ported %% fix from 1.1.15. + +2004-11-20 Federico Di Gregorio + + * psycopg/cursor_type.c (psyco_curs_execute): added check to raise an + exception if a cursor tries to .execute() while an async query is + already in execution froma different cursor. + +2004-11-20 Federico Di Gregorio + + * psycopg/connection_type.c (psyco_conn_cursor): renamed 'cursor' + argument to 'cursor_factory'. + +2004-11-19 Federico Di Gregorio + + * psycopg/cursor_type.c (_psyco_curs_buildrow_fill): now standard + tuples are filled using PyTuple_SET_ITEM while extended types + (created via row_factory) are filled using PySequence_SetItem. + + * psycopg/cursor_type.c: changed cursor attribute name from + tuple_factory to row_factory. + +2004-10-14 Federico Di Gregorio + + * psycopg/cursor_type.c (_psyco_curs_buildrow_fill): now we use + PySequence_SetItem to avoid problems with containers created from + cursor's .tuple_factory attribute. + + * lib/extras.py (DictCursor.execute): fixed stupid bug with cursor + setting self.tuplefactory instead of self.tuple_factory. + +2004-10-02 Federico Di Gregorio + + * Release 1.99.10. + + * psycopg/cursor_type.c (_psyco_curs_buildrow_*): unified normal + and factory code into the _psyco_curs_buildrow_fill function; no + more memory leaks here. + + * psycopg/config.h (round): added check for __FreeBSD__ (that + should be defined when compiling with gcc, I hope.) + + * setup.py: removed a lot of code now in setup.cfg. + +2004-09-24 Federico Di Gregorio + + * psycopg/cursor_type.c (cursor_dealloc): fixed small memory leak + due to missing disposal of self->pgres. + +2004-9-14 Federico Di Gregorio + + * examples/dialtone.py: Added adapt() example by Valentino + Volonghi. + +2004-09-14 Federico Di Gregorio + + * psycopg/microprotocols.c (microprotocols_adapt): lots of changes + to the microprotocols layer (it is not micro anymore); + implementing almost all the PEP 246. The adapter registry is now + indexed by (type, protocol) and not by type alone. + +2004-09-13 Federico Di Gregorio + + * psycopg/cursor_type.c (_mogrify): and qattr is gone. + +2004-09-05 Federico Di Gregorio + + * Release 1.99.9 (or, the "twisting by the pool" release). + + * psycopg/pqpath.c (_pq_fetch_tuples): changed to "static void" + instead of "static int", no ways for this function to fail. + +2004-09-04 Federico Di Gregorio + + * psycopg/pqpath.c (_pq_fetch_tuples): ported rowcount fix from + 1.1.15. + + * ZPsycopgDA/*: ZPsycopgDA back in action, using the new pooling + code. + +2004-08-29 Federico Di Gregorio + + * psycopg/typecast_basic.c (typecast_DECIMAL_cast): added DECIMAL + typecaster; it even works :). + + * scripts/buildtypes.py (basic_types): added DECIMAL typecaster + for the NUMERIC oid. + + * examples/threads.py: updated threads example to use pooling code. + + * lib/pool.py: added very simple and thread-safe connection + pooling class. + + * psycopg/cursor_type.c (psyco_curs_fetchmany): fixed problem with + .fetchall() and .fetchmany() returning None instead of [] on empty + result sets. + + * Release 1.99.8. + +2004-08-28 Federico Di Gregorio + + * psycopg/cursor_type.c (psyco_curs_execute): added processing of + unicode queries. + + * examples/encoding.py: much better encoding example, also using + the new UNICODE typecaster. + + * psycopg/typecast_basic.c (typecast_UNICODE_cast): added UNICODE + typecaster. + + * lib/extensions.py: the encodings dictionary is not available by + default but can be accessed from the psycopg.extensions module. + + * psycopg/adapter_qstring.h: remove encoding information from + qstring adapter and moved it into psycopg module. + +2004-08-26 Federico Di Gregorio + + * psycopg/cursor_type.c (_psyco_curs_prefetch): added check for + asynchronous fetch by wrong cursor. + + * psycopg/pqpath.c (pq_fetch): fixed backend status message (bug + reported by Daniele Varrazzo.) + +2004-07-29 Federico Di Gregorio + + * psycopg/typecast_basic.c (typecast_BINARY_cast): reverted to + using strings instead of buffers when converting postgresql binary + objects (should *temporarily* fix corruption bug reported on + win32.) + +2004-07-21 Federico Di Gregorio + + * psycopg/cursor_type.c: removed __iter__ and next methods from + object methods and moved them where they do belong (tp_iter and + tp_iternext.) Bug reported by Daniele Varrazzo (again!) + +2004-07-19 Federico Di Gregorio + + * psycopg/typecast_datetime.c (typecast_PYINTERVAL_cast): replaced + round() with micro() when rounding seconds (fixes bugs reported by + Daniele Varrazzo.) + +2004-07-16 Federico Di Gregorio + + * psycopg/pqpath.c (pq_set_critical): allow for a custom message + insted of the one from PQerrorMessage. + (pq_resolve_critical): added argument to specify if connection is + to be closed (used to not close it during COPY FROM/TO criticals.) + + * psycopg/cursor_type.c (psyco_curs_fileno, psyco_curs_isready): + added extension methods related to async queries. + +2004-07-15 Federico Di Gregorio + + * Release 1.99.7. + + * examples/tz.py: added example about time zones. + + * psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): create + FixedOffsetTimezone for postgresql "timestamp with time zone" + types. + + * lib/tz.py: added (even more than) needed tzinfo classes. + + * psycopg/typecast.c (typecast_call): changed typecast call code + to take the additional cursor parameter, needed for + cursor-dependent type casting (tzinfo & friends.) + + * psycopg/cursor_type.c (_psyco_curs_buildrow_with_factory): added + use of tuple factories to fetcXXX methods. + + * lib/extras.py: little extra goodies for psycopg. + +2004-07-14 Federico Di Gregorio + + * Release 1.99.6. + + * psycopg/connection_type.c: added .dsn attribute to connection + objects. + + * psycopg/cursor_type.c (psyco_curs_mogrify): added .mogrify() + method. + + * psycopg/adapter_qstring.c: copy the connection encoding only if + wrapped object is unicode and added table of encodings. + +2004-07-13 Federico Di Gregorio + + * psycopg/cursor_type.c (_mogrify): moved Dprintf statement to + avoid dereferencing empty pointer (from 1.1.x) + (psyco_curs_execute): now we save the query in self->query instead + of freeing the memory ASAP. + (cursorObject_members): and we finally export the saved query + through the cursor members interface. that's all folks. + + * lib/extensions.py: added extensions module to clearly separate + psycopg own extensions from DBAPI-2.0 + +2004-07-10 Federico Di Gregorio + + * psycopg/typecast_datetime.c: ported interval fix from 1.1.x. + +2004-05-16 Federico Di Gregorio + + * psycopg/typecast_datetime.c (typecast_*_cast): fixed Value error + when seconds > 59 by setting minutes += 1 and seconds -= 60 + (reported by Marcel Gsteiger.) + +2004-04-24 Federico Di Gregorio + + * ported time interval patch by Ross Cohen from 1.1.12. + +2004-04-19 Federico Di Gregorio + + * psycopg/typecast_datetime.c (typecast_PYDATE_cast): applied + patch from Jason Erickson: min and max taken from datetime.Date + type. + +2004-04-18 Federico Di Gregorio + + * Applied changes from Jason Erickson to build on win32; see his + (slightly edited) entry below. (Still builds on Linux :) + + * psycopg/*.c: removed inclusion of pthread.h from all files + except psycopg/config.h to build on win32 without faking the file. + +2004-04-15 Jason Erickson + + * setup.py: Various changes. The critical ones: + - Make an empty pthread.h file so all the code doing an + #include will find something. + - Appended the winsock2 library and the PostgreSQL library to + the library path. + - Setup the include path. + - Have the PSYCOPG_VERSION macro be included with quotes. + + * config.h: Added/Cleaned up Win32 includes, defines, stub functions. + + * typecast.h: Removed ';' after PyObject_HEAD in the + typecastObject structure since Microsoft Visual Studio does not + like it. + +2004-04-15 Federico Di Gregorio + + * Release 1.99.5 (bug-fixing and reorganization) + + * setup.py et al.: moved psycopg to psycopg._psycopg to make + easier to provide high level python-only utilities (like the + promised pooling code). psycopg/__init__.py imports _psycopg and + make all the default DBAPI-2.0 stuff available. + +2004-04-14 Federico Di Gregorio + + * psycopg/psycopgmodule.c (initpsycopg): wrapped initialization of + date/time adapters in #ifdefs to have psycopg compile without mx + or builtin datetime. + +2004-04-10 Federico Di Gregorio + + * Release 1.99.4. + +2004-04-09 Federico Di Gregorio + + * psycopg/typecast_builtins.c: changed DATE to not include + DATETIME types anymore. + + * psycopg/adapter_datetime.c (pydatetime_str): switched from + strftime to isoformat to preserve fractional seconds. + +2004-04-08 Federico Di Gregorio + + * psycopg/psycopgmodule.c (psyco_connect): ported sslmode + parameter from 1.1 branch. + + * psycopg/adapter_datetime.*: added python built-in datetime + adapters. also added the datetime typecasters (still using mx as + default). + + * psycopg/typecast.h: removed aliases, they now live in the right + typecast_xxx.c file. + +2004-03-08 Federico Di Gregorio + + * Release 1.99.3 (alpha 4). + + * examples/lastrowid.py: and the .lastrowid example is in. + + * psycopg/cursor_type.c (_mogrify): added call to .prepare() + method in both dict and sequence path. + + * psycopg/connection_int.c (conn_set_client_encoding): added + encoding-change code. + + * psycopg/adapter_qstring.c (qstring_quote): added hard-coded + support for utf8 and latin1 encodings. + +2004-03-01 Federico Di Gregorio + + * psycopg/connection_int.c (conn_close): does not use libpq + functions on NULL pgconn (this can happen when conn_close is + called after a failed PQconnect.) + +2004-02-29 Federico Di Gregorio + + * Release 1.99.2 (alpha 3). + + * psycopg/cursor_type.c: added .rownumber and .connection + attributes. Also added .scroll(), .next() and .__iter__() methods + (see DBAPI2-.0 extensions on PEP.) + + * psycopg/connection_type.c (psyco_conn_set_isolation_level): + added connection method .set_isolation_level(). Also added all + error objects to the connection (see DBAPI2-.0 extensions on PEP.) + + * psycopg/connection_int.c (conn_switch_isolation_level): added + isolation level switching code. + + * setup.py: removed all references to PSYCOPG_NEWSTYLE: support + for python < 2.2 has been dropped. + + * typecast_basic.c (typecast_BINARY_cast): now binary objects are + returned as true buffers. + + * adapter_binary.*: added adapter for buffers and binary (bytea) + objects. + + * Release 1.99.1 (alpha 2). + + * adapter_mxdatetime.*: added adapters for all mx.DateTime types. + +2004-02-28 Federico Di Gregorio + + * cursor_type.c (_mogrify): complete rework of the mogrification + code to use the microprotocols_adapt function. + + * typecast_basic.c (typecast_BOOLEAN_cast): we now return real + Py_True and Py_False values. + + * microprotocols.h: added very simple microprotocols + implementation to allow for python->postgresql types registry. + +2004-01-05 Federico Di Gregorio + + * connection_int.c (conn_commit/conn_rollback): added code to + commit/rollback and connection methods. + +2004-01-04 Federico Di Gregorio + + * cursor_type.c (psyco_curs_fetchone): added fetchone method. + +2004-01-03 Federico Di Gregorio + + * added (empty) INSTALL file. + + * cursor_type.c (cursor_dealloc): added qattr for custom object + quoting using a callable attribute. + (_mogrify): ported new, fixed mogrification code from 1.1.12. + +2003-08-01 Federico Di Gregorio + + * cursor_type.c (_mogrify_sequence): added sequence mogrification, + can be done better, on the dict model. + +2003-07-28 Federico Di Gregorio + + * typeobj_qstring.c: added quoted strings (can use both own code, + like psycopg 1.x or PQescapeString from lipq.) + +2003-07-21 Federico Di Gregorio + + * connection_type.c (psyco_conn_close): added .close() + method. wow. + + * cursor_*.c: added basic cursor interface (new-style.) + +2003-07-20 Federico Di Gregorio + + * psycopg/*: beginning of new source layout. if you think this + changelog is somewhat empty, you're right. look at + doc/ChangeLog-1.x for psycopg 1.x changelog just before the + branch. + +