2010-11-22 03:49:07 +03:00
|
|
|
|
2010-11-22 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c: dropped notices hack to get COPY errors from
|
|
|
|
|
V2 protocol.
|
|
|
|
|
|
2010-11-18 03:20:39 +03:00
|
|
|
|
2010-11-18 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection.h: Added enum with possilbe isolation level states.
|
|
|
|
|
Also, general isolation levels cleanup and tests added.
|
|
|
|
|
|
2010-11-18 06:23:49 +03:00
|
|
|
|
* psycopg/utils.c: compiler warning dropped.
|
|
|
|
|
|
2010-11-19 02:45:16 +03:00
|
|
|
|
* typecast.h: functions exported to drop warnings.
|
|
|
|
|
|
2010-11-19 02:16:40 +03:00
|
|
|
|
* datetime module initialized at is supposed to be.
|
|
|
|
|
|
2010-11-19 03:17:24 +03:00
|
|
|
|
* mx.DateTime module initialized at is supposed to be.
|
|
|
|
|
|
2010-11-17 04:43:50 +03:00
|
|
|
|
2010-11-17 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: don't clobber exception if
|
|
|
|
|
isolation_level_switch fails.
|
|
|
|
|
|
2010-11-16 03:42:23 +03:00
|
|
|
|
2010-11-16 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c: abort connection to protocol 2 server.
|
|
|
|
|
|
2010-11-16 04:06:27 +03:00
|
|
|
|
* psycopg/pqpath.c
|
|
|
|
|
* psycopg/connection_int.c: dropped support for protocol 2 at compile
|
|
|
|
|
time and protocol 2-specific code.
|
|
|
|
|
|
2010-11-16 21:10:58 +03:00
|
|
|
|
* psycopg/connection_int.c: don't run a query at every connection to detect
|
2010-11-16 13:16:52 +03:00
|
|
|
|
client encoding: use PQparameterStatus() instead.
|
|
|
|
|
|
2010-11-16 21:10:58 +03:00
|
|
|
|
* psycopg/connection_int.c: don't run a query at every connection to set
|
|
|
|
|
the datestyle to ISO if PQparameterStatus() reports it already is.
|
|
|
|
|
|
2010-11-11 13:26:36 +03:00
|
|
|
|
2010-11-11 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: build the namedtuple only once per execution, not once
|
|
|
|
|
per fetch.
|
|
|
|
|
|
2010-11-11 13:30:01 +03:00
|
|
|
|
* lib/extras.py: don't change the exception raised when fetching without a
|
|
|
|
|
result from NamedTupleCursor.
|
|
|
|
|
|
2010-11-11 14:54:43 +03:00
|
|
|
|
* psycopg/connection_int.c: fixed notices order (ticket #9).
|
|
|
|
|
|
2010-11-10 18:50:05 +03:00
|
|
|
|
2010-11-10 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/green.c: functions unused outside the module marked static.
|
|
|
|
|
|
2010-11-09 04:49:22 +03:00
|
|
|
|
2010-11-09 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Replaced PyObject_CallFunction() with *ObjArgs() where more efficient.
|
|
|
|
|
|
2010-11-09 06:18:54 +03:00
|
|
|
|
* Dropped PyArg_ParseTuple() calls in functions taking no arguments.
|
|
|
|
|
|
2010-11-09 05:12:37 +03:00
|
|
|
|
* psycopg/microprotocols.c: small optimizations.
|
|
|
|
|
|
2010-11-09 14:14:01 +03:00
|
|
|
|
* Avoid pointless string manipulation in NamedTupleCursor (ticket #10)
|
|
|
|
|
|
2010-11-09 17:28:00 +03:00
|
|
|
|
* psycopg/microprotocols.c: Check the presence of a mro.
|
|
|
|
|
|
2010-11-08 03:39:00 +03:00
|
|
|
|
2010-11-08 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/microprotocols.c: use faster function to build tuples.
|
|
|
|
|
|
|
|
|
|
* psycopg/microprotocols.c: fixed refcount bug.
|
|
|
|
|
|
2010-11-08 04:35:06 +03:00
|
|
|
|
* psycopg/microprotocols.c: use the adapter of an object superclass if
|
|
|
|
|
available.
|
|
|
|
|
|
2010-11-09 03:05:13 +03:00
|
|
|
|
* psycopg/adapter_pdecimal.c: fixed crash in pdecimal_str with Python
|
|
|
|
|
2.5.x releases in which is_finite() is not available.
|
|
|
|
|
|
2010-11-06 04:39:43 +03:00
|
|
|
|
2010-11-06 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: added NamedTupleCursor.
|
|
|
|
|
|
2010-11-05 12:22:40 +03:00
|
|
|
|
2010-11-05 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* setup.py: bumped to version 2.3.dev0
|
|
|
|
|
|
|
|
|
|
* merged dev branches for 2 phase commit, notify payload, hstore adapter
|
|
|
|
|
|
2010-10-24 15:26:34 +04:00
|
|
|
|
2010-10-22 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* MANIFEST.in: Dropped reference to removed TODO file: it breaks 'pip'.
|
|
|
|
|
|
2010-10-08 15:02:53 +04:00
|
|
|
|
2010-10-08 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
2010-10-08 17:26:40 +04:00
|
|
|
|
* psycopg/typecast_binary.c: use PQfreemem to free memory allocated by
|
|
|
|
|
the libpq. Bug reported by Anton Kovalev.
|
|
|
|
|
|
2010-10-08 15:27:47 +04:00
|
|
|
|
* dropped PSYCOPG_OWN_QUOTING.
|
|
|
|
|
|
2010-10-08 15:02:53 +04:00
|
|
|
|
* psycopg/connection_int.c: Fixed access to freed memory in
|
|
|
|
|
conn_get_isolation_level(). Bug reported by Anton Kovalev.
|
|
|
|
|
|
2010-10-06 03:53:04 +04:00
|
|
|
|
2010-10-06 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Merged James Henstridge work on two-phase commit support.
|
|
|
|
|
|
2010-10-06 04:25:14 +04:00
|
|
|
|
2008-07-24 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2010-10-06 04:39:58 +04:00
|
|
|
|
* tests/test_psycopg2_dbapi20.py (Psycopg2TPCTests): hook up two
|
|
|
|
|
phase commit tests.
|
|
|
|
|
|
2010-10-06 04:25:14 +04:00
|
|
|
|
* psycopg/xid_type.c (xid_len, xid_getitem): implement sequence
|
|
|
|
|
behaviour, as required for transaction IDs.
|
2010-10-06 04:30:43 +04:00
|
|
|
|
(XidType): There is no point in allowing subclasses of Xid.
|
2010-10-06 04:25:14 +04:00
|
|
|
|
|
2010-10-06 04:09:17 +04:00
|
|
|
|
2008-07-23 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c (psyco_conn_xid): add a
|
|
|
|
|
Connection.xid() method that instantiates Xid objects.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c (init_psycopg): initialise the Xid
|
|
|
|
|
object type.
|
|
|
|
|
|
|
|
|
|
* psycopg/xid.h:
|
|
|
|
|
* psycopg/xid_type.c: Implement a basic transaction ID object for
|
|
|
|
|
use in two phase commit.
|
|
|
|
|
|
2010-10-06 03:53:04 +04:00
|
|
|
|
2008-05-12 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* beginnings of a TPC test harness
|
|
|
|
|
|
2010-10-05 04:43:23 +04:00
|
|
|
|
2010-10-05 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c: Common code in execute() and mogrify() merged.
|
|
|
|
|
|
2010-10-05 06:13:44 +04:00
|
|
|
|
* psycopg/cursor_type.c: cursor.mogrify() accepts unicode queries.
|
|
|
|
|
|
2010-09-24 02:43:23 +04:00
|
|
|
|
2010-09-23 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lib/errorcodes.py: Added PostgreSQL 9.0 error codes.
|
|
|
|
|
|
2010-08-05 04:18:11 +04:00
|
|
|
|
2010-08-05 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c: don't execute a ROLLBACK on close()/GC.
|
|
|
|
|
The command wasn't sent since 2.2.0 due to a bug, but after a ML
|
|
|
|
|
discussion this behaviour proved more correct so the bug has become a
|
|
|
|
|
feature.
|
|
|
|
|
|
2010-07-18 14:32:45 +04:00
|
|
|
|
2010-07-18 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.2.2.
|
|
|
|
|
|
2010-07-10 02:10:11 +04:00
|
|
|
|
2010-07-09 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c: executemany() propagates exceptions raised by the
|
|
|
|
|
iterable to the caller.
|
|
|
|
|
|
2010-07-10 02:21:06 +04:00
|
|
|
|
* lib/pool.py: dropped logging.basicConfig() call. It messes up with
|
|
|
|
|
projects using logging but where no handler is installed on the root
|
|
|
|
|
logger. Bug reported by Joe Abbate.
|
|
|
|
|
|
2010-07-10 03:12:50 +04:00
|
|
|
|
* psycopg/cursor_type.c: exceptions raised in the columns iterator of the
|
|
|
|
|
copy methods propagated to the caller.
|
|
|
|
|
|
2010-05-20 05:07:50 +04:00
|
|
|
|
2010-05-20 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_datetime.c: Round seconds in historical timezones to
|
|
|
|
|
the nearest minute.
|
|
|
|
|
|
2010-05-20 05:10:33 +04:00
|
|
|
|
* lib/extras.py: register_tstz_w_secs() is now no-op.
|
|
|
|
|
|
2010-05-17 23:51:25 +04:00
|
|
|
|
2010-05-17 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.2.1.
|
|
|
|
|
|
|
|
|
|
* Builds again on Windows.
|
|
|
|
|
|
2010-05-16 14:55:59 +04:00
|
|
|
|
2010-05-16 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.2.0.
|
|
|
|
|
|
|
|
|
|
2010-05-15 Federico Di Gregorio <fog@initd.org>
|
2010-05-15 21:34:56 +04:00
|
|
|
|
|
|
|
|
|
* typecast.c: Fixed problem related to receiving None from Python
|
|
|
|
|
when a string was expected.
|
|
|
|
|
|
2010-05-07 21:06:18 +04:00
|
|
|
|
2010-05-07 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_datetime.c: Fixed TimestampFromTicks for second
|
|
|
|
|
values > 59.5.
|
|
|
|
|
|
|
|
|
|
Bug reported and fixed by Jozsef Szalay on 2010-05-06 at 14:11:59.999920.
|
|
|
|
|
|
2010-05-07 21:28:31 +04:00
|
|
|
|
* psycopg/adapter_datetime.c: Fixed same bug for TimeFromTicks.
|
|
|
|
|
|
2010-05-04 04:43:23 +04:00
|
|
|
|
2010-05-04 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Added typecasters for arrays of specific MX/Py time-related types.
|
|
|
|
|
|
2010-05-04 04:52:15 +04:00
|
|
|
|
* psycopg/adapter_[mx]datetime.c: Explicit cast of the SQL representation
|
|
|
|
|
of time-related objects.
|
|
|
|
|
|
2010-05-04 02:07:48 +04:00
|
|
|
|
2010-05-03 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_binary.c: Adapt buffer objects using an explicit cast on
|
|
|
|
|
the string literal (bug reported by Peter Eisentraut)
|
|
|
|
|
|
2010-04-20 17:35:35 +04:00
|
|
|
|
2010-04-20 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lib/pqpath.c: Fixed reference leak in notify reception.
|
|
|
|
|
|
2010-04-20 21:17:27 +04:00
|
|
|
|
* Notifies are collected if available after every query execution.
|
|
|
|
|
|
2010-04-14 02:48:31 +04:00
|
|
|
|
2010-04-13 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lib/extensions.py: DECIMAL typecaster imported from _psycopg.
|
|
|
|
|
|
2010-04-14 03:27:28 +04:00
|
|
|
|
* lib/extensions.py: PY* and MX* time typecaster imported from _psycopg.
|
|
|
|
|
|
2010-04-20 15:45:07 +04:00
|
|
|
|
2010-04-11 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: Correctly parse keywords in connect().
|
|
|
|
|
|
|
|
|
|
2010-04-07 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c: Ensure running COPY in blocking mode.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c: Free the GIL in blocking operations in V2 COPY FROM.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c: Evaluate Python objects only once outside the COPY I/O
|
|
|
|
|
loops.
|
|
|
|
|
|
2010-04-05 18:52:25 +04:00
|
|
|
|
2010-04-05 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Fixed problem with asynchronous NOTIFYs.
|
|
|
|
|
|
|
|
|
|
* Integrated async pacthes from Jan's git tree.
|
|
|
|
|
|
2010-03-13 23:15:50 +03:00
|
|
|
|
2010-03-13 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.14.
|
|
|
|
|
|
2010-03-12 00:42:00 +03:00
|
|
|
|
2010-03-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* setup.py: one-liner from Devrim GÜNDÜZ to build with PostgreSQL
|
|
|
|
|
alpha.
|
|
|
|
|
|
2010-02-28 22:52:03 +03:00
|
|
|
|
2010-02-28 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapt_decimal.c: Python 2.4 decimal type does not support
|
|
|
|
|
.isfinite() and two different calls to ._isinfinity() and ._isnan() are
|
|
|
|
|
required. This fixes both a test failure and a segfault.
|
|
|
|
|
|
2010-02-21 03:04:00 +03:00
|
|
|
|
2010-02-15 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Added new Decimal adapter that correctly converts NaN and infinity
|
|
|
|
|
to PostgreSQL NaN numeric values. Also added tests.
|
|
|
|
|
|
2010-02-15 04:38:49 +03:00
|
|
|
|
2010-02-15 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lib/errorcodes.py: Updated to PostgreSQL 8.4; added lookup() function.
|
|
|
|
|
|
2010-02-08 23:13:10 +03:00
|
|
|
|
2010-02-12 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Stop the loop variable used to create __all__ leaking in the module.
|
|
|
|
|
|
2010-02-13 05:14:38 +03:00
|
|
|
|
* Fixed Inet constructor.
|
|
|
|
|
|
2010-02-13 08:55:31 +03:00
|
|
|
|
* Fixed docstring for 'QueryCanceledError' exception.
|
|
|
|
|
|
2010-02-13 01:34:53 +03:00
|
|
|
|
2010-02-10 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2010-02-13 02:52:36 +03:00
|
|
|
|
* lib/extensions.py: Binary was not imported from _psycopg; now it is
|
|
|
|
|
|
2010-02-13 02:40:29 +03:00
|
|
|
|
* lib/__init__: SQL_IN adapter is now automatically registered.
|
|
|
|
|
|
2010-02-13 02:15:39 +03:00
|
|
|
|
* ZPsycopgDA/db.py: removed logging debug calls; psycopg does
|
|
|
|
|
not depend on the logger module.
|
|
|
|
|
|
|
|
|
|
2010-02-12 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2010-02-13 01:34:53 +03:00
|
|
|
|
* License migration: psycopg2 is now LGPL3 + OpenSSL exception.
|
|
|
|
|
|
|
|
|
|
* TODO file was never updated so lets remove it.
|
|
|
|
|
|
2010-02-10 20:16:00 +03:00
|
|
|
|
2010-02-10 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: fixed register_tstz_w_secs() error as reported by
|
|
|
|
|
Karsten Hilbert.
|
|
|
|
|
|
2009-11-25 12:38:31 +03:00
|
|
|
|
2009-11-25 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-11-25 13:51:54 +03:00
|
|
|
|
* psycopg/microprotocols.c: "can't adapt" message now includes full
|
|
|
|
|
type information (adapted patch from Eric Chamberlain).
|
|
|
|
|
|
2009-11-25 12:38:31 +03:00
|
|
|
|
* tests/types_basic.py: fixed test broken by float precision fix.
|
|
|
|
|
|
2009-11-09 11:17:05 +03:00
|
|
|
|
2009-11-09 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_pfloat.c: applied patch from Remy Blankto fix float
|
|
|
|
|
loss of precision.
|
|
|
|
|
|
2009-10-04 14:02:02 +04:00
|
|
|
|
2009-10-04 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-10-04 14:53:42 +04:00
|
|
|
|
* Release 2.0.13.
|
|
|
|
|
|
2009-10-04 14:43:30 +04:00
|
|
|
|
* setup.py: applied patch from Christian Jacobsen to link to static
|
|
|
|
|
version of libpq.
|
|
|
|
|
|
2009-10-04 14:34:02 +04:00
|
|
|
|
* lib/extras.py: added support for UUID arrays.
|
|
|
|
|
|
2009-10-04 14:02:02 +04:00
|
|
|
|
* psycopg/connection_int.c: applied patch from Richard Davies to avoid
|
|
|
|
|
deadlocks with multiple threads using the same connection.
|
|
|
|
|
|
2009-08-09 17:13:42 +04:00
|
|
|
|
2009-08-08 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-08-09 19:22:18 +04:00
|
|
|
|
* Release 2.0.12.
|
|
|
|
|
|
2009-08-09 19:05:16 +04:00
|
|
|
|
* psycopg/lobject_int.c: fixed problem with writing large data using
|
|
|
|
|
lo_write: apparently the large objects code does not like non-blocking
|
|
|
|
|
connections.
|
|
|
|
|
|
2009-08-09 18:28:27 +04:00
|
|
|
|
* setup.py: fixed version detection for PostgreSQL rc, as
|
|
|
|
|
suggested by Sok Ann Yap.
|
|
|
|
|
|
2009-08-09 18:22:43 +04:00
|
|
|
|
* ZPsycopgDA/db.py: applied serialization error retry from Brian
|
|
|
|
|
Sutherland.
|
|
|
|
|
|
2009-08-09 18:19:08 +04:00
|
|
|
|
* Implemented connection.reset() method to reset the connection to
|
|
|
|
|
well-know default parameters. This is much faster than closing and
|
|
|
|
|
reopening the connection. (Suggested by a bug report by Glenn
|
|
|
|
|
Maynard.)
|
|
|
|
|
|
2009-08-09 17:13:42 +04:00
|
|
|
|
* psycopg/cursor_type.c: unified size macro definitions in COPY TO
|
|
|
|
|
and COPY FROM operations: now the buffer for column names is 8192
|
|
|
|
|
bytes that should be enough even for very large tables.
|
|
|
|
|
|
2009-05-19 12:14:49 +04:00
|
|
|
|
2009-05-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied patch from Robert Munro to fix version check
|
2009-08-09 19:22:18 +04:00
|
|
|
|
in ZPsycopgDA.
|
2009-05-19 12:14:49 +04:00
|
|
|
|
|
2009-05-09 12:19:15 +04:00
|
|
|
|
2009-05-10 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-05-09 16:52:16 +04:00
|
|
|
|
* Release 2.0.11.
|
|
|
|
|
|
2009-05-09 16:44:59 +04:00
|
|
|
|
* lib/extras.py: fixed crash in fetchone() when prefetching using
|
|
|
|
|
a RealDictCursor.
|
|
|
|
|
|
2009-05-09 16:28:40 +04:00
|
|
|
|
* psycopg/cursor_ext.c: now raise correct exception when fetching
|
|
|
|
|
using a custom row factory results in an error.
|
|
|
|
|
|
2009-05-09 12:19:15 +04:00
|
|
|
|
* lib/extras.py: applied DictRow "diet" patch from Marko Kreen.
|
|
|
|
|
|
2009-04-21 02:38:09 +04:00
|
|
|
|
2009-04-21 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* setup.py: applied patch from Elvis Pranskevichus to make
|
|
|
|
|
PostgreSQL version detection more robust.
|
|
|
|
|
|
2009-04-20 22:37:59 +04:00
|
|
|
|
2009-04-20 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.10.
|
2009-04-19 18:25:12 +04:00
|
|
|
|
|
2009-04-20 22:19:55 +04:00
|
|
|
|
* psycopg/cursor_type.c: patch from Gangadharan to avoid double
|
|
|
|
|
free of the cursor when the connection that creates it is closed
|
|
|
|
|
implicitly by dealloc.
|
|
|
|
|
|
2009-04-20 22:37:59 +04:00
|
|
|
|
2009-04-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-04-19 18:51:31 +04:00
|
|
|
|
* psycopg/connection_type.c: patch from Gangadharan to avoid double
|
|
|
|
|
free of the connection object when calling close() implicitly.
|
|
|
|
|
|
2009-04-19 18:42:06 +04:00
|
|
|
|
* psycopg/connection_type.c: patch from Marko Kreen to implement
|
|
|
|
|
get_parameter_status().
|
|
|
|
|
|
2009-04-19 18:36:10 +04:00
|
|
|
|
* psycopg/connection.*: exposed protocol_version and
|
|
|
|
|
server_version attributes on the connection object.
|
|
|
|
|
|
2009-04-19 18:25:12 +04:00
|
|
|
|
* lib/extras.py: patch from Marko Kreen to implement missing dict
|
|
|
|
|
methods in DictRow.
|
|
|
|
|
|
2009-04-04 21:17:40 +04:00
|
|
|
|
2009-04-04 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* connection_int.c(conn_notice_callback): removed all Python
|
|
|
|
|
calls because conn_notice_callback() can be called without a lock
|
|
|
|
|
on the GIL. Moved processing and cleanup of notices into their
|
|
|
|
|
own functions that are called while holding the GIL.
|
|
|
|
|
|
2009-04-01 22:49:00 +04:00
|
|
|
|
2009-04-01 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-04-01 22:52:58 +04:00
|
|
|
|
* Applied patch from Menno Smits to fix failures in test_dates
|
|
|
|
|
when executed in older version of Python.
|
|
|
|
|
|
2009-04-01 22:49:00 +04:00
|
|
|
|
* Applied patch from Menno Smits to fix lobject test failures.
|
|
|
|
|
|
2009-03-09 23:45:49 +03:00
|
|
|
|
2009-03-08 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* microprotocols.c: None is always adapted to NULL to avoid
|
|
|
|
|
errors when calling adapt on nested types without first checking
|
|
|
|
|
for None.
|
|
|
|
|
|
2009-03-02 11:19:23 +03:00
|
|
|
|
2009-03-02 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-03-02 13:07:17 +03:00
|
|
|
|
* Applied modified patch from Karsten Hilbert to provide a
|
|
|
|
|
type-caster able to parse times with seconds in the time zone.
|
|
|
|
|
|
2009-03-02 12:59:52 +03:00
|
|
|
|
* Applied patch from Menno Smits to avoid problems with DictCursor
|
|
|
|
|
when the query is executed by a named cursor. Also added Menno's
|
|
|
|
|
tests and uniformed other DictCursor tests.
|
|
|
|
|
|
2009-03-02 12:56:53 +03:00
|
|
|
|
* psycopg/psycopgmodule.c: fixed unwanted exception when passing an
|
|
|
|
|
explicit None to register_type().
|
|
|
|
|
|
2009-03-02 11:19:23 +03:00
|
|
|
|
* psycopg/config.h: applied patch from Jason Erickson to build
|
|
|
|
|
with MSVC. Solaris version of isinf() is now a macro.
|
|
|
|
|
|
2009-02-27 13:02:45 +03:00
|
|
|
|
2009-02-27 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/config.h: added check to provide compatible isinf()
|
|
|
|
|
for Solaris (thanks to Jeremy Mason.)
|
|
|
|
|
|
2009-02-23 23:39:47 +03:00
|
|
|
|
2009-02-23 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.9.
|
|
|
|
|
|
2009-02-17 06:58:45 +03:00
|
|
|
|
2009-02-17 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2009-02-17 10:00:52 +03:00
|
|
|
|
* psycopg/utils.c (psycopg_escape_string): same here.
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_binary.c (binary_escape): simplify PostgreSQL
|
|
|
|
|
version check.
|
|
|
|
|
|
|
|
|
|
* setup.py (psycopg_build_ext.finalize_options): use a single
|
|
|
|
|
define of the PostgreSQL version in a form that can easily be used
|
|
|
|
|
by #ifdefs.
|
|
|
|
|
|
2009-02-17 09:03:33 +03:00
|
|
|
|
* tests/test_dates.py (DatetimeTests, mxDateTimeTests): full test
|
|
|
|
|
coverage for datetime and time strings with and without time zone
|
|
|
|
|
information.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): adjust
|
|
|
|
|
to handle the changes in typecast_parse_time.
|
|
|
|
|
(typecast_PYTIME_cast): add support for time zone aware time
|
|
|
|
|
values.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_mxdatetime.c (typecast_MXDATE_cast): make sure
|
|
|
|
|
that values with time zones are correctly processed (even though
|
|
|
|
|
that means ignoring the time zone value).
|
|
|
|
|
(typecast_MXTIME_cast): same here.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast.c (typecast_parse_time): Update method to parse
|
|
|
|
|
second resolution timezone offsets.
|
|
|
|
|
|
2009-02-17 06:58:45 +03:00
|
|
|
|
* psycopg/typecast.c (typecast_parse_time): Fix up handling of
|
|
|
|
|
negative timezone offsets with a non-zero minutes field.
|
|
|
|
|
|
|
|
|
|
* tests/test_dates.py (DatetimeTests): Add tests for time zone
|
|
|
|
|
parsing. The test for HH:MM:SS time zones is disabled because we
|
|
|
|
|
don't currently support it.
|
|
|
|
|
|
2009-02-16 12:00:34 +03:00
|
|
|
|
2009-02-16 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* FreeBSD now has round(). Modified config.h as suggested by
|
|
|
|
|
Jeroen Ruigrok van der Werven.
|
|
|
|
|
|
2009-02-07 20:02:14 +03:00
|
|
|
|
2009-02-06 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied patch by Markus Demleitner to make executemany() return
|
|
|
|
|
the sum of modified rows by executed statements or -1 if any one
|
|
|
|
|
statement returns it. This is still DBAPI-2.0 compliant.
|
|
|
|
|
|
2009-01-23 02:09:20 +03:00
|
|
|
|
2009-01-23 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2009-02-07 20:02:14 +03:00
|
|
|
|
* Fixed problem mailed by Markus Demleitner about Python to
|
|
|
|
|
PostgreSQL conversions of "nan" and "inf" floats resulting in
|
|
|
|
|
backend errors. Added the new psycopg2.extensions.Float adapter
|
|
|
|
|
that correctly handle both values and unit tests. (The opposite
|
|
|
|
|
conversion was already working.)
|
2009-01-23 02:09:20 +03:00
|
|
|
|
|
|
|
|
|
2009-01-20 Federico Di Gregorio <fog@initd.org>
|
2009-01-22 13:02:38 +03:00
|
|
|
|
|
|
|
|
|
* Fixed problem reported by Lawrence Oluyede where
|
|
|
|
|
register_type() didn't work on connection and cursors
|
|
|
|
|
suclasses.
|
|
|
|
|
|
2009-01-10 20:48:08 +03:00
|
|
|
|
2009-01-10 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c: cursor.isready() now raise an exception
|
|
|
|
|
when the libpq PQconsumeInput() call fails.
|
|
|
|
|
|
2008-12-04 18:58:05 +03:00
|
|
|
|
2008-12-04 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject_type.c: fixed memory leak. The patch was kindly
|
|
|
|
|
sent from a psycopg user but I wrongly deleted the email so no
|
|
|
|
|
kudos (and I had to fix the problem by myself!)
|
|
|
|
|
|
2008-11-25 21:18:17 +03:00
|
|
|
|
2008-11-25 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c: integrated patch from Alejandro Dubrovsky.
|
|
|
|
|
Note that the statically allocated buffer should probably go away
|
|
|
|
|
in favor of always allocating the buffer dinamically.
|
|
|
|
|
|
|
|
|
|
* psycopg/utils.c: modified patch from Alejandro Dubrovsky to
|
|
|
|
|
support quoted separators in COPY queries: now all the string
|
|
|
|
|
quoting code is in utils.c and the same function is used by
|
|
|
|
|
qstrings and everything else (like the COPY code.)
|
|
|
|
|
|
2008-09-24 03:27:52 +04:00
|
|
|
|
2008-09-24 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: added inet support and related tests.
|
|
|
|
|
|
2008-09-23 13:22:37 +04:00
|
|
|
|
2008-09-23 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopg.h (NotSupportedError_doc): clean up
|
|
|
|
|
spelling/grammar a bit, using exception description from the PEP.
|
|
|
|
|
|
2008-09-23 11:11:11 +04:00
|
|
|
|
2008-09-23 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied patch from Brian Sutherland that fixes NULL
|
|
|
|
|
valus in UUID support.
|
|
|
|
|
|
2008-09-19 23:25:16 +04:00
|
|
|
|
2008-09-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: added UUID support, modeled after the code
|
|
|
|
|
sent by Brian Sutherland.
|
|
|
|
|
|
2008-09-16 11:58:44 +04:00
|
|
|
|
2008-09-16 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.8.
|
|
|
|
|
|
2008-07-26 17:09:20 +04:00
|
|
|
|
2008-07-26 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: merged get_backend_pid() method
|
|
|
|
|
by Casey Duncan.
|
|
|
|
|
|
2008-07-23 12:57:10 +04:00
|
|
|
|
2008-07-23 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject_type.c (lobject_setup): use
|
|
|
|
|
FORMAT_CODE_PY_SSIZE_T in Dprintf() call for 64-bit compatibility
|
|
|
|
|
when using Python 2.5 or later.
|
|
|
|
|
(lobject_dealloc): same here.
|
|
|
|
|
|
2008-07-18 13:42:31 +04:00
|
|
|
|
2008-07-18 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_qstring.c (qstring_traverse): add cyclic GC
|
|
|
|
|
traversal for quoted string adapters.
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_pboolean.c (pboolean_traverse): add cyclic GC
|
|
|
|
|
traversal for boolean adapters.
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_mxdatetime.c (mxdatetime_traverse): add cyclic
|
|
|
|
|
GC traversal for mxdatetime adapters.
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_datetime.c (pydatetime_traverse): add cyclic GC
|
|
|
|
|
traversal for datetime adapters.
|
|
|
|
|
|
2008-07-01 05:34:51 +04:00
|
|
|
|
2008-07-01 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-07-01 07:59:25 +04:00
|
|
|
|
* psycopg/adapter_binary.c (binary_traverse): add cyclic GC
|
|
|
|
|
traversal for binary adapters.
|
|
|
|
|
|
2008-07-01 05:57:16 +04:00
|
|
|
|
* psycopg/adapter_asis.c (asis_traverse): add cyclic GC traversal
|
|
|
|
|
for AsIs adapters.
|
|
|
|
|
|
2008-07-01 05:34:51 +04:00
|
|
|
|
* psycopg/adapter_list.c (list_traverse): add cyclic GC traversal
|
|
|
|
|
for list adapters.
|
|
|
|
|
|
2008-05-28 13:22:40 +04:00
|
|
|
|
2008-05-28 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-05-28 13:45:37 +04:00
|
|
|
|
* psycopg/cursor_type.c (cursor_setup): incref before setting
|
|
|
|
|
attributes, to make things GC-safe.
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_int.c (curs_reset): make clearing of description
|
|
|
|
|
and casts attributes GC-safe.
|
|
|
|
|
|
2008-05-28 13:22:40 +04:00
|
|
|
|
* psycopg/typecast.c (typecast_traverse): implement cyclic GC
|
|
|
|
|
traversal for typecasters.
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c:
|
|
|
|
|
* psycopg/cursor_type.c: add support for cyclic GC traversal (no
|
|
|
|
|
support for clearing).
|
|
|
|
|
|
|
|
|
|
* psycopg/python.h: add definitions for Py_CLEAR() and Py_VISIT()
|
|
|
|
|
for compatibility with old versions of Python.
|
|
|
|
|
|
2008-06-28 20:34:57 +04:00
|
|
|
|
2008-06-28 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* setup.py: fixed problem with spaces in pg_config path.
|
|
|
|
|
|
2008-05-27 19:40:19 +04:00
|
|
|
|
2008-05-27 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c: better error checks in _pq_copy_in_v3 to
|
|
|
|
|
avoid calling blocking libpq functions when the connection to
|
|
|
|
|
the server has been broken
|
|
|
|
|
|
2008-05-19 12:14:17 +04:00
|
|
|
|
2008-05-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c: fixed memory leak in .executemany(); on
|
|
|
|
|
error "iter" was not dec'reffed.
|
|
|
|
|
|
2008-05-06 13:04:26 +04:00
|
|
|
|
2008-05-06 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-05-06 14:12:50 +04:00
|
|
|
|
* psycopg/lobject.h (lobjectObject): remove "mode" struct member,
|
|
|
|
|
since it was unused.
|
|
|
|
|
|
2008-05-06 14:07:54 +04:00
|
|
|
|
* psycopg/lobject_*.c: replace uses of the closed struct member,
|
|
|
|
|
and change the Python level attribute to a getset.
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject.h (lobjectObject): remove the closed member,
|
|
|
|
|
since "fd < 0" gives us the same information. Reorder the struct
|
|
|
|
|
members for better packing.
|
|
|
|
|
|
2008-05-06 13:09:43 +04:00
|
|
|
|
* psycopg/lobject*: const'ify the code.
|
|
|
|
|
|
2008-05-06 13:04:26 +04:00
|
|
|
|
* tests/test_lobject.py (LargeObjectTests): add more tests,
|
|
|
|
|
including behaviour on closed lobjects and stale lobjects.
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject_type.c (psyco_lobj_close): don't mark the
|
|
|
|
|
connection closed here because it is done by
|
|
|
|
|
lobject_close_locked().
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject_int.c (lobject_open): mark objects as not closed
|
|
|
|
|
if we successfully open them.
|
|
|
|
|
(lobject_close_locked): mark the lobject closed here.
|
|
|
|
|
(lobject_export): ensure we are in a transaction, since
|
|
|
|
|
lo_export() issues multiple queries.
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject_type.c (lobject_setup): make lobjects start closed.
|
|
|
|
|
|
2008-05-05 18:51:15 +04:00
|
|
|
|
2008-05-05 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject.h: don't export the lobjectType symbol.
|
|
|
|
|
|
2008-05-05 17:55:51 +04:00
|
|
|
|
2008-05-05 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2008-05-05 18:51:15 +04:00
|
|
|
|
* Fixed sun build problem by adding "sun" to config.h checks.
|
|
|
|
|
|
|
|
|
|
2008-05-05 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_complete_error): get rid of double free
|
|
|
|
|
error in case when pgres is NULL.
|
|
|
|
|
|
|
|
|
|
* tests/test_lobject.py: add some basic tests for large object
|
|
|
|
|
code.
|
|
|
|
|
|
|
|
|
|
* psycopg/lobject*.[ch]: port the large object code to work with
|
|
|
|
|
current psycopg code.
|
2008-05-05 17:55:51 +04:00
|
|
|
|
|
2008-05-05 06:22:22 +04:00
|
|
|
|
2006-09-01 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: merged in double mutex destroy patch
|
|
|
|
|
from Joerg Sonnenberger.
|
|
|
|
|
|
|
|
|
|
* Implemented large objects support.
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c: removed increment of self->mark,
|
|
|
|
|
now it is done directly in pqpath.c to make sure even the
|
|
|
|
|
large object support gets it.
|
|
|
|
|
|
|
|
|
|
* Starting 2.1 development.
|
|
|
|
|
|
2008-04-21 03:12:21 +04:00
|
|
|
|
2008-04-21 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-04-21 03:19:42 +04:00
|
|
|
|
* tests/test_quote.py (QuotingTestCase.test_unicode): If the
|
|
|
|
|
server encoding is not UTF8, skip the unicode test and emit a
|
|
|
|
|
warning.
|
|
|
|
|
|
|
|
|
|
2008-04-21 Jorgen Austvik <Jorgen.Austvik@sun.com>
|
|
|
|
|
|
2008-04-21 03:12:21 +04:00
|
|
|
|
* tests/*.py: use the DSN constructed in tests/__init__.py.
|
|
|
|
|
|
|
|
|
|
* tests/__init__.py: allow setting the host, port and user for the
|
|
|
|
|
DSN used by the tests through the environment.
|
|
|
|
|
|
2008-04-14 09:23:15 +04:00
|
|
|
|
2008-03-17 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.7.
|
|
|
|
|
|
2008-03-31 02:15:21 +04:00
|
|
|
|
2008-03-31 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c (connection_dealloc): free
|
|
|
|
|
connection->encoding with free() instead of PyMem_Free().
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c (conn_connect): use malloc() to
|
|
|
|
|
allocate connection->encoding instead of PyMem_Malloc(), since it
|
|
|
|
|
is freed in other places with free() and assigned to with
|
|
|
|
|
strdup().
|
|
|
|
|
|
2008-03-26 02:21:00 +03:00
|
|
|
|
2008-03-26 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast.c (typecast_from_c): fix up some reference
|
|
|
|
|
leaks. This leak affected a bounded set of objects, so doesn't
|
|
|
|
|
account for any gradual leaks.
|
|
|
|
|
|
2008-03-19 04:01:26 +03:00
|
|
|
|
2008-03-19 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c (conn_notice_callback): don't leak
|
|
|
|
|
notice messages.
|
|
|
|
|
|
2008-03-17 11:13:16 +03:00
|
|
|
|
2008-03-17 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_datetime.c: fixed double decref when using
|
|
|
|
|
a PyObject as a parameter in a nested call (line 415).
|
|
|
|
|
|
2008-03-17 07:06:44 +03:00
|
|
|
|
2008-03-17 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast.c (typecast_parse_time): give the correct
|
|
|
|
|
return value for partially parsed time values.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_mxdatetime.c (typecast_MXDATE_cast): return
|
|
|
|
|
NULL after setting DataError. Also, don't treat it as an error if
|
|
|
|
|
typecast_parse_time() returns 0 (as might happen if the remainder
|
|
|
|
|
of the string is " BC").
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_datetime.c (typecast_PYDATE_cast): return NULL
|
|
|
|
|
after setting DataError.
|
|
|
|
|
(typecast_PYDATETIME_cast): same here.
|
|
|
|
|
(typecast_PYTIME_cast): same here.
|
|
|
|
|
|
|
|
|
|
* tests/test_dates.py
|
|
|
|
|
(CommonDatetimeTestsMixin.test_parse_incomplete_date): test that
|
|
|
|
|
parsing incomplete date values results in DataError.
|
|
|
|
|
(CommonDatetimeTestsMixin.test_parse_incomplete_time): same for
|
|
|
|
|
times.
|
|
|
|
|
(CommonDatetimeTestsMixin.test_parse_incomplete_time): same for
|
|
|
|
|
datetimes.
|
|
|
|
|
|
2008-03-06 19:15:41 +03:00
|
|
|
|
2008-03-07 Jason Erickson <jerickso@stickpeople.com>
|
|
|
|
|
|
2008-03-06 21:41:07 +03:00
|
|
|
|
* psycopg/pqpath.c (pq_raise): if PSYCOPG_EXTENSIONS is not
|
|
|
|
|
defined, raise OperationalError rather than
|
2008-03-06 22:35:47 +03:00
|
|
|
|
TransactionRollbackError for deadlock or serialisation errors for
|
|
|
|
|
protocol versions less than 3.
|
2008-03-06 21:41:07 +03:00
|
|
|
|
|
2008-03-06 19:15:41 +03:00
|
|
|
|
* psycopg/psycopgmodule.c (psyco_connect): fix off by one error in
|
|
|
|
|
calculating the length of the DSN.
|
|
|
|
|
|
2008-03-06 18:12:40 +03:00
|
|
|
|
2008-03-07 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (_pq_fetch_tuples): Don't call Python APIs
|
|
|
|
|
without holding the GIL.
|
|
|
|
|
|
2008-02-27 05:29:55 +03:00
|
|
|
|
2008-02-27 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-02-27 07:42:56 +03:00
|
|
|
|
* NEWS: add some draft NEWS items for a 2.0.7 release.
|
|
|
|
|
|
2008-02-27 05:29:55 +03:00
|
|
|
|
* runtests.py: add a harness to run all the psycopg tests against
|
|
|
|
|
the version built by distutils.
|
|
|
|
|
|
2008-01-21 20:34:08 +03:00
|
|
|
|
2008-01-22 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-01-22 00:41:17 +03:00
|
|
|
|
* psycopg/typecast.c (typecast_pydatetime): make array static.
|
|
|
|
|
(typecast_mxdatetime): same here.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_builtins.c (typecast_builtins): make array
|
|
|
|
|
static.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c: add hidden visibility to a bunch of
|
|
|
|
|
global variables here.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopg.h: add set QueryCanceledError and
|
|
|
|
|
TransactionRollbackError to hidden visibility.
|
|
|
|
|
|
2008-01-21 20:34:08 +03:00
|
|
|
|
* psycopg/*.[ch]: add const qualifier to various string arguments
|
|
|
|
|
to functions (typecast functions and conn_switch_isolation_level).
|
|
|
|
|
|
2008-01-21 08:54:01 +03:00
|
|
|
|
2008-01-21 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-01-21 08:59:03 +03:00
|
|
|
|
* setup.cfg (define): remove PSYCOPG_DISPLAY_SIZE from default
|
|
|
|
|
list of defines, as discussed on mailing list. It slows down
|
|
|
|
|
queries with very little benefit.
|
|
|
|
|
|
2008-01-21 08:54:01 +03:00
|
|
|
|
* psycypg/*.h: apply HIDDEN to all global variables and functions
|
|
|
|
|
that should not be exported from the module. This results in a 5%
|
|
|
|
|
reduction in code size and shortens the dynamic symbol table.
|
|
|
|
|
|
|
|
|
|
* psycopg/config.h: If GCC >= 4.0 is installed, define the HIDDEN
|
|
|
|
|
symbol to apply the "hidden" visibility attribute.
|
|
|
|
|
|
2008-01-19 05:16:57 +03:00
|
|
|
|
2008-01-19 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-01-19 06:32:42 +03:00
|
|
|
|
* tests/test_connection.py (ConnectionTests): add simple tests for
|
|
|
|
|
the Connection and Cursor "closed" attributes.
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c (psyco_curs_get_closed): add a "closed"
|
|
|
|
|
attribute to cursors. It will be True if either the cursor or its
|
|
|
|
|
associated connection are closed. This fixes bug #164.
|
|
|
|
|
|
2008-01-19 05:16:57 +03:00
|
|
|
|
* psycopg/pqpath.c (pq_raise): remove unused arguments to
|
|
|
|
|
function, and simplify.
|
|
|
|
|
(pq_resolve_critical): make function static, since it isn't being
|
|
|
|
|
used outside of pqpath.c any more.
|
|
|
|
|
|
2008-01-16 21:56:13 +03:00
|
|
|
|
2008-01-17 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* ZPsycopgDA/DA.py (Connection.__init__): Default the encoding to
|
|
|
|
|
UTF-8, fixing bug #190.
|
2008-01-17 02:16:59 +03:00
|
|
|
|
(App.ImageFile): simplify ImageFile import using patch from
|
|
|
|
|
chrism, fixing bug #198.
|
2008-01-16 21:56:13 +03:00
|
|
|
|
|
2008-01-16 08:14:24 +03:00
|
|
|
|
2008-01-16 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* tests/test_transaction.py (DeadlockSerializationTestCase): port
|
|
|
|
|
over some tests for serialisation and deadlock errors,
|
|
|
|
|
demonstrating that TransactionRollbackError is generated.
|
|
|
|
|
(QueryCancelationTests): add a test to show that
|
|
|
|
|
QueryCanceledError is raised on statement timeouts.
|
|
|
|
|
|
|
|
|
|
* psycopg2da/adapter.py (_handle_psycopg_exception): rather than
|
|
|
|
|
checking exception messages, check for TransactionRollbackError.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (exception_from_sqlstate): return
|
|
|
|
|
TransactionRollbackError for 40xxx errors, and QueryCanceledError
|
|
|
|
|
for 57014 errors.
|
|
|
|
|
(pq_raise): If we are using an old server, use
|
|
|
|
|
TransactionRollbackError if the error message contains "could not
|
|
|
|
|
serialize" or "deadlock detected".
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c (_psyco_connect_fill_exc): remove
|
|
|
|
|
function, since we no longer need to store pointers to the
|
|
|
|
|
exceptions in the connection. This also fixes a reference leak.
|
|
|
|
|
(psyco_connect): remove _psyco_connect_fill_exc() function call.
|
|
|
|
|
|
|
|
|
|
* psycopg/connection.h (connectionObject): remove exception
|
|
|
|
|
members from struct.
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c (connectionObject_getsets): modify the
|
|
|
|
|
exception attributes on the connection object from members to
|
|
|
|
|
getsets. This reduces the size of the struct.
|
|
|
|
|
|
|
|
|
|
* lib/extensions.py: import the two new extensions.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c (exctable): add new QueryCanceledError
|
|
|
|
|
and TransactionRollbackError exceptions.
|
|
|
|
|
|
2008-01-16 04:43:50 +03:00
|
|
|
|
2008-01-16 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* tests/__init__.py (test_suite): add date tests to test suite.
|
|
|
|
|
|
|
|
|
|
* tests/test_dates.py: add tests for date/time typecasting and
|
|
|
|
|
adaption.
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_mxdatetime.c (mxdatetime_str): add support for
|
|
|
|
|
outputting BC dates (which involves switching them to one-based
|
|
|
|
|
dates). Also remove broken handling of microseconds.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast.c (typecast_parse_date): if the string ends
|
|
|
|
|
with "BC" adjust the year value to be a zero-based BC value as
|
|
|
|
|
used by mx.DateTime (datetime doesn't support BC dates).
|
|
|
|
|
(typecast_parse_time): ignore ' ', 'B' and 'C' in time strings
|
|
|
|
|
rather than treating them as part of the seconds part of the time.
|
|
|
|
|
|
2008-01-13 19:05:59 +03:00
|
|
|
|
2008-01-14 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_array.c (typecast_array_scan): set an initial
|
|
|
|
|
value for quotes to keep gcc happy.
|
|
|
|
|
|
|
|
|
|
* psycopg/*.c: add missing static modifier on many functions.
|
|
|
|
|
|
2008-01-11 18:10:21 +03:00
|
|
|
|
2008-01-12 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* tests/test_transaction.py
|
|
|
|
|
(TransactionTestCase.test_failed_commit): Expect IntegrityError
|
|
|
|
|
instead of OperationalError.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (exception_from_sqlstate): new function that
|
|
|
|
|
converts an SQLSTATE error code to the corresponding exception
|
|
|
|
|
class.
|
|
|
|
|
(pq_raise): use exception_from_sqlstate() to pick which exception
|
|
|
|
|
to use when working with protocol version 3.
|
|
|
|
|
(pq_complete_error): Let pq_raise() pick an appropriate exception
|
|
|
|
|
rather than forcing OperationalError.
|
|
|
|
|
|
2008-01-10 21:14:44 +03:00
|
|
|
|
2008-01-11 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
2008-01-11 01:19:23 +03:00
|
|
|
|
* psycopg/adapter_binary.c (binary_quote): apply Brandon Rhodes'
|
|
|
|
|
patch from ticket #209 to check return value from
|
|
|
|
|
PyObject_AsCharBuffer(). This fixes the segfault.
|
|
|
|
|
(binary_quote): switch from PyObject_AsCharBuffer() to
|
|
|
|
|
PyObject_AsReadBuffer() to support buffer objects that don't
|
|
|
|
|
implement the bf_getcharbuf protocol.
|
|
|
|
|
|
|
|
|
|
* tests/types_basic.py (TypesBasicTests.testBinary): Test round
|
|
|
|
|
tripping of bytea buffers. Currently segfaults.
|
|
|
|
|
|
2008-01-10 21:14:44 +03:00
|
|
|
|
* psycopg/connection_int.c (conn_close): fix for new
|
|
|
|
|
pq_abort_locked() prototype.
|
|
|
|
|
(conn_switch_isolation_level): fix for new pq_abort_locked()
|
|
|
|
|
prototype, and use pq_complete_error() to show error message.
|
|
|
|
|
(conn_set_client_encoding): same here.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_execute_command_locked): remove static
|
|
|
|
|
modifier.
|
|
|
|
|
(pq_complete_error): same here.
|
|
|
|
|
(pq_abort_locked): add pgres and error arguments.
|
|
|
|
|
(pq_abort): call pq_abort_locked() to reduce code duplication.
|
|
|
|
|
|
2008-01-10 09:14:20 +03:00
|
|
|
|
2007-12-23 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_execute_command_locked): add an error
|
|
|
|
|
argument to hold an error when no PGresult is returned by PQexec,
|
|
|
|
|
rather than using pq_set_critical().
|
|
|
|
|
(pq_complete_error): new function that converts the error returned
|
|
|
|
|
by pq_execute_command_locked() to a Python exception.
|
|
|
|
|
(pq_begin_locked): add error argument.
|
|
|
|
|
(pq_commit): use pq_complete_error().
|
|
|
|
|
(pq_abort): use pq_complete_error().
|
|
|
|
|
(pq_abort_locked): always call pq_set_critical() on error, and
|
|
|
|
|
clear the error message from pq_execute_command_locked().
|
|
|
|
|
(pq_execute): use pq_complete_error() to handle the error from
|
|
|
|
|
pq_begin_locked().
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_begin): remove unused function.
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c (psyco_conn_commit): if conn_commit()
|
|
|
|
|
raises an error, just return NULL, since it is now setting an
|
|
|
|
|
exception itself.
|
|
|
|
|
(psyco_conn_rollback): same here.
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c (conn_commit): don't drop GIL and lock
|
|
|
|
|
connection before calling pq_commit().
|
|
|
|
|
(conn_rollback): same here.
|
|
|
|
|
(conn_close): use pq_abort_locked().
|
|
|
|
|
(conn_switch_isolation_level): same here.
|
|
|
|
|
(conn_set_client_encoding): same here.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.h: add prototype for pq_abort_locked().
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_commit): convert function to run with GIL
|
|
|
|
|
held, and handle errors appropriately.
|
|
|
|
|
(pq_abort): same here.
|
|
|
|
|
(pq_abort_locked): new function to abort a locked connection.
|
|
|
|
|
|
|
|
|
|
2007-12-22 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_raise): add a "pgres" argument so we can
|
|
|
|
|
generate nice errors not related to a particular cursor.
|
|
|
|
|
(pq_execute): use pq_begin_locked() rather than pq_begin(). Use
|
|
|
|
|
pq_raise() to handle any errors from it.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_execute_command_locked): helper function
|
|
|
|
|
used to execute a command-style query on a locked connection.
|
|
|
|
|
(pq_begin_locked): a variant of pq_begin() that uses
|
|
|
|
|
pq_execute_command_locked().
|
|
|
|
|
(pq_begin): rewrite to use pq_begin_locked().
|
|
|
|
|
|
2007-12-22 16:03:41 +03:00
|
|
|
|
2007-12-22 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/config.h: only print debug messages if
|
|
|
|
|
psycopg_debug_enabled is true.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c (init_psycopg): set
|
|
|
|
|
psycopg_debug_enabled to true if the $PSYCOPG_DEBUG environment
|
|
|
|
|
variable is set.
|
|
|
|
|
|
2007-12-21 03:45:01 +03:00
|
|
|
|
2007-12-21 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied win32 patch from Jason Erickson.
|
|
|
|
|
|
|
|
|
|
* Applied patch from Thomas Lotze to use correct version
|
|
|
|
|
for new Zopes.
|
|
|
|
|
|
2007-12-19 17:33:44 +03:00
|
|
|
|
2007-12-20 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_execute): uncomment the "curs->pgres ==
|
|
|
|
|
NULL" error handler after the PQexec() call. This is needed to
|
|
|
|
|
catch database disconnects (and probably other errors). According
|
|
|
|
|
to Federico, it was commented out to avoid a spurious error, so we
|
|
|
|
|
should watch for problems.
|
|
|
|
|
|
2007-12-19 17:29:03 +03:00
|
|
|
|
2007-12-20 James Henstridge <james@jamesh.id.au>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_raise): only remove the first 8 characters
|
|
|
|
|
of the exception message if it actually gives the severity.
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.h (pq_resolve_critical): add prototype, since
|
|
|
|
|
this function is being used from connection_int.c.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopg.h: update psyco_set_error() prototype.
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c (psyco_errors_init): set pgerror, pgcode
|
|
|
|
|
and cursor class attributes to None on psycopg2.Error so that the
|
|
|
|
|
attributes will always be available (simplifies error handling).
|
|
|
|
|
(psyco_set_error): add const qualifiers to msg, pgerror and pgcode
|
|
|
|
|
arguments.
|
|
|
|
|
Don't bother setting pgerror, pgcode or cursor to None if they are
|
|
|
|
|
not provided -- the class defaults take care of this.
|
|
|
|
|
|
2007-11-11 11:53:44 +03:00
|
|
|
|
2007-11-11 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Use escape string syntax for string escape if connected to a
|
|
|
|
|
server requiring it.
|
|
|
|
|
|
2007-11-09 08:49:13 +03:00
|
|
|
|
2007-11-09 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
2007-11-09 16:00:37 +03:00
|
|
|
|
* Use escape string syntax for binary escape if connected to a
|
|
|
|
|
server requiring it.
|
2007-11-09 08:51:12 +03:00
|
|
|
|
|
2007-11-09 08:49:13 +03:00
|
|
|
|
* Put a limit on the number of notices stored in the connection.
|
|
|
|
|
|
2007-10-21 07:22:55 +04:00
|
|
|
|
2007-10-21 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Fixed bug #192 (Decimal support not safe for use with multiple sub
|
|
|
|
|
interpreters) as proposed by Graham Dumpleton.
|
|
|
|
|
|
|
|
|
|
2007-09-08 Federico Di Gregorio <fog@initd.org>
|
2007-09-08 12:54:30 +04:00
|
|
|
|
|
|
|
|
|
* Added MonoDevelop project, yahi!
|
|
|
|
|
|
|
|
|
|
2007-09-06 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Fixed bug #194.
|
|
|
|
|
|
2007-09-01 13:32:42 +04:00
|
|
|
|
2007-09-01 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Added "name" parameter to all .cursor() calls in extras.py.
|
|
|
|
|
|
2007-05-29 12:13:40 +04:00
|
|
|
|
2007-05-29 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-06-08 04:39:06 +04:00
|
|
|
|
* Release 2.0.6.
|
|
|
|
|
|
2007-05-29 12:56:17 +04:00
|
|
|
|
* ZPsycopgDA/DA.py: removed call to now obsolete .set_type_casts().
|
|
|
|
|
|
2007-06-08 04:39:06 +04:00
|
|
|
|
* Applied patch from mkz (ticket #187) to add error handling when
|
|
|
|
|
calling conn_commit() and conn_rollback(). Fixes #187.
|
2007-05-29 12:43:34 +04:00
|
|
|
|
|
2007-06-08 04:39:06 +04:00
|
|
|
|
* cursor.copy_expert() implementation by David Rushby (copy_expert
|
|
|
|
|
set 5/5.)
|
2007-05-29 12:30:24 +04:00
|
|
|
|
|
2007-06-08 04:39:06 +04:00
|
|
|
|
* SQL validation refactor patch from David Rushby (copy_expert
|
|
|
|
|
set 4/5.)
|
2007-05-29 12:23:35 +04:00
|
|
|
|
|
2007-05-29 12:16:44 +04:00
|
|
|
|
* Reference count leak fix from David Rushby (copy_expert set 3/5.)
|
|
|
|
|
|
2007-05-29 12:14:58 +04:00
|
|
|
|
* 64 bit fix patch from David Rushby (copy_expert set 2/5.)
|
|
|
|
|
|
|
|
|
|
* Applied whitespace normalization patch from David Rushby (copy_expert
|
|
|
|
|
set 1/5.)
|
2007-05-29 12:13:40 +04:00
|
|
|
|
|
2007-04-26 02:42:36 +04:00
|
|
|
|
2007-04-25 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: added support for a new method
|
|
|
|
|
.get_transaction_status() that returns the backend transaction
|
|
|
|
|
status as libpq knows. Also added some symbolic constants to
|
|
|
|
|
psycopg.extensions module (TRANSACTION_STATUS_XXX).
|
|
|
|
|
|
2007-04-13 18:07:11 +04:00
|
|
|
|
2007-04-14 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopg.h: fixed probable typo in definition of
|
|
|
|
|
CONV_CODE_PY_SSIZE_T: d -> i for Python < 2.5.
|
|
|
|
|
|
|
|
|
|
* Fixed some of the examples.
|
|
|
|
|
|
2007-04-13 05:16:22 +04:00
|
|
|
|
2007-04-13 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-04-13 18:07:11 +04:00
|
|
|
|
* Applied slighly modified patch from daniel (#176). Made
|
|
|
|
|
buffer size a compile-time parameter.
|
|
|
|
|
|
2007-04-13 05:17:54 +04:00
|
|
|
|
* Applied patch from David Rushby: typecast_binary.c cleanup.
|
|
|
|
|
|
2007-04-13 05:16:22 +04:00
|
|
|
|
* Applied patch from David Rushby for int->size_t transition.
|
|
|
|
|
|
2007-04-13 05:14:01 +04:00
|
|
|
|
2007-04-12 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied patch from Jason Erickson to fix win32 build glitches.
|
|
|
|
|
|
2007-04-11 08:16:00 +04:00
|
|
|
|
2007-04-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-04-11 11:12:16 +04:00
|
|
|
|
* Release 2.0.6b2.
|
|
|
|
|
|
2007-04-11 08:16:00 +04:00
|
|
|
|
* psycopg/cursor_type.c: added check to raise an error when
|
|
|
|
|
some crazy programmer tries to use different argument formats
|
|
|
|
|
in the same query string. Fixes #162.
|
|
|
|
|
|
|
|
|
|
* Applied patch from David Rushby to fix win32 builds.
|
|
|
|
|
|
2007-04-10 10:36:18 +04:00
|
|
|
|
2007-04-10 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-04-10 10:51:35 +04:00
|
|
|
|
* Applied patch from David Rushby to fix mem and ref leaks in
|
|
|
|
|
psycopg2.connect().
|
|
|
|
|
|
2007-04-10 10:36:18 +04:00
|
|
|
|
* Applied super-patch from David Rushby to fix Python 2.5 and 64
|
|
|
|
|
bit problems (all of them, kudos!)
|
|
|
|
|
|
2007-02-22 18:16:54 +03:00
|
|
|
|
2007-02-22 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Added support for per-connection and per-cursor typecasters.
|
|
|
|
|
|
2007-02-11 11:11:22 +03:00
|
|
|
|
2007-02-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-02-11 11:25:33 +03:00
|
|
|
|
* psycopg/pqpath.c: ported psycopg1 patch from #135.
|
|
|
|
|
|
2007-02-11 11:11:22 +03:00
|
|
|
|
* psycopg/connection_type.c: now the password is obfuscated after we try
|
|
|
|
|
to connect to the backend. This really fixes #147.
|
|
|
|
|
|
2007-01-19 17:38:01 +03:00
|
|
|
|
2007-01-20 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.6b1.
|
|
|
|
|
|
|
|
|
|
* Added encodings patch from Karsten Hilbert.
|
|
|
|
|
|
2007-01-19 06:40:27 +03:00
|
|
|
|
2007-01-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-01-19 17:08:06 +03:00
|
|
|
|
* psycopg/adapt_list.c: added support for None. And this closes
|
|
|
|
|
the other half.
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_array.c: added support for detecting the NULL
|
|
|
|
|
special string and converting it as a real NULL if not enclosed in
|
|
|
|
|
quotes. This closes half of #154.
|
2007-01-19 06:40:27 +03:00
|
|
|
|
|
2007-01-16 10:57:22 +03:00
|
|
|
|
2007-01-16 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2007-01-17 02:39:08 +03:00
|
|
|
|
* psycopg/connection_type.c: .set_client_encoding() now converts the
|
|
|
|
|
argument to upper case to make sure it has the same case of the entries
|
|
|
|
|
in the PostgreSQL -> Python encoding conversion table.
|
|
|
|
|
|
2007-01-19 06:40:27 +03:00
|
|
|
|
* lib/extras.py: merged DictCursor from #143 and renamed it
|
|
|
|
|
RealDictCursor because allows access by cursor keys _only_.
|
|
|
|
|
Also cleaned up a little bit the implementation of both DictCursor
|
|
|
|
|
and RealDictCursor by introducing DictCursorBase.
|
2007-01-16 16:45:41 +03:00
|
|
|
|
|
2007-01-16 15:03:29 +03:00
|
|
|
|
* psycopg/pqpath.cs: new checks for NULL values (meaning an
|
|
|
|
|
exception was raised) in all method calls (fixes #134).
|
|
|
|
|
|
2007-01-16 14:32:01 +03:00
|
|
|
|
* psycopg/psycopgmodule.c: applied LATIN patch from #148.
|
|
|
|
|
|
2007-01-16 14:29:07 +03:00
|
|
|
|
* psycopg/connection_type.c: obfuscate password after using it.
|
|
|
|
|
|
2007-01-16 13:58:05 +03:00
|
|
|
|
* lib/extras.py: moved SQL_IN to extensions.py; we're now officially
|
|
|
|
|
adapting tuples.
|
|
|
|
|
|
2007-01-16 13:47:28 +03:00
|
|
|
|
* psycopg/adapt_mxdatetime.c: fixed #137 by accessing the 'date' and
|
|
|
|
|
'time' attributes of the mx.DateTime instance: they are always in ISO
|
|
|
|
|
format.
|
|
|
|
|
|
2007-01-16 10:57:22 +03:00
|
|
|
|
* psycopg/typecast_datetime.c: fixed problem with year > 9999.
|
|
|
|
|
|
2006-10-29 06:12:51 +03:00
|
|
|
|
2006-10-29 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied patch from Jason Erickson to make psycopg build
|
|
|
|
|
again on win32 (closes: #132).
|
|
|
|
|
|
2006-09-30 10:16:24 +04:00
|
|
|
|
2006-09-30 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-09-30 10:39:51 +04:00
|
|
|
|
* ZpsycopgDA/DA.py: applied the infinity patch from 1.1 (fixes #122).
|
|
|
|
|
|
2006-09-30 10:35:12 +04:00
|
|
|
|
* psycopg/adapter_datetime.py: fixed conversion problem with seconds
|
|
|
|
|
in the (59,60) range (fixes #131).
|
|
|
|
|
|
2006-09-30 10:24:24 +04:00
|
|
|
|
* ZpsycopgDA/DA.py: we now split on GMT+, GMT-, + or -. This should
|
|
|
|
|
fix bug #129.
|
|
|
|
|
|
2006-09-30 10:16:24 +04:00
|
|
|
|
* psycopg/adapter_datetime.py: now TimeFromTicks and
|
|
|
|
|
TimestampFromTicks both accept fractionary seconds (fixes #130).
|
|
|
|
|
|
2006-09-23 09:10:58 +04:00
|
|
|
|
2006-09-23 Federico Di Gregorio <fog@initd.org>
|
2006-09-23 09:15:36 +04:00
|
|
|
|
|
2006-09-23 09:35:03 +04:00
|
|
|
|
* lib/errorcodes.py: added list of all PostgreSQL error codes
|
2006-09-30 10:16:24 +04:00
|
|
|
|
compiled by Johan Dahlin.
|
2006-09-23 09:35:03 +04:00
|
|
|
|
|
2006-09-23 09:19:30 +04:00
|
|
|
|
* psycopg/psycopg.h: applied compatibility macros from PEP 353.
|
|
|
|
|
|
2006-09-23 09:15:36 +04:00
|
|
|
|
* Applied patch 1/3 from Piet Delport; from his email:
|
2006-09-30 10:16:24 +04:00
|
|
|
|
|
2006-09-23 09:15:36 +04:00
|
|
|
|
psycopg2-Py_ssize_t-input.diff adjusts variables used for parameters
|
|
|
|
|
and return values. These changes only prevent overflowing on values
|
|
|
|
|
greater than 32-bits, so they're not as critical as the other two
|
|
|
|
|
patches. I tried to leave places unchanged where the input size is
|
|
|
|
|
already constrained to sizeof(int), but i might have missed a few
|
|
|
|
|
either way, not being too familiar with the codebase.
|
|
|
|
|
|
2006-09-23 09:14:24 +04:00
|
|
|
|
* Applied patch 2/3 from Piet Delport; from his email:
|
2006-09-30 10:16:24 +04:00
|
|
|
|
|
2006-09-23 09:14:24 +04:00
|
|
|
|
psycopg2-Py_ssize_t-output.diff adjusts variables used as outputs
|
|
|
|
|
from CPython API calls: without it the calls try to write 64 bits
|
|
|
|
|
to 32 bit locations, trampling over adjacent values/pointers,
|
|
|
|
|
and segfaulting later.
|
2006-09-23 09:10:58 +04:00
|
|
|
|
|
|
|
|
|
* Applied patch 1/3 from Piet Delport; from his email:
|
2006-09-30 10:16:24 +04:00
|
|
|
|
|
|
|
|
|
psycopg2-PyObject_HEAD.diff adds missing underscores to several
|
2006-09-23 09:10:58 +04:00
|
|
|
|
"PyObject_HEAD" declarations. As far as i can tell from gdb, the
|
|
|
|
|
"PyObject HEAD" versions end up accidentally meaning almost exactly
|
|
|
|
|
the same, but get aligned differently on AMD64, resulting in wrong
|
|
|
|
|
size calculation and memory corruption later.
|
|
|
|
|
|
2006-09-10 18:50:03 +04:00
|
|
|
|
2006-09-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Fixed syntax error in lib/extras.py (see #123)
|
|
|
|
|
|
2006-09-02 05:09:31 +04:00
|
|
|
|
2006-09-02 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-09-02 13:00:39 +04:00
|
|
|
|
* psycopg/adapter_mxdatetime.c, psycopg/psycopgmodule.c: fixed last
|
|
|
|
|
problem with non-constant initializers.
|
|
|
|
|
|
2006-09-02 12:50:30 +04:00
|
|
|
|
* psycopg/connection_type.c: applied patch from Joerg Sonnenberger
|
|
|
|
|
to fix a double mutex destroy.
|
|
|
|
|
|
2006-09-02 05:09:31 +04:00
|
|
|
|
* Release 2.0.5.1.
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c: applied patch from Jason Erickson to
|
|
|
|
|
build on MSVC and older gcc.
|
|
|
|
|
|
2006-09-01 11:12:23 +04:00
|
|
|
|
2006-09-01 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-09-01 16:42:03 +04:00
|
|
|
|
* Release 2.0.5.
|
|
|
|
|
|
|
|
|
|
* Fixed patch from #119, see tracker for details.
|
|
|
|
|
|
2006-09-01 12:55:25 +04:00
|
|
|
|
* Preparing release 2.0.5.
|
|
|
|
|
|
2006-09-01 15:55:27 +04:00
|
|
|
|
* psycopg/psycopgmodule.c: fixed filling of connection errors
|
|
|
|
|
to include OperationalError.
|
|
|
|
|
|
2006-09-01 12:44:57 +04:00
|
|
|
|
* setup.py: removed pydatetime option from initialize_options
|
|
|
|
|
to make sure that the value in setup.cfg is used.
|
|
|
|
|
|
2006-09-01 12:29:30 +04:00
|
|
|
|
* psycopg/psycopgmodule.c: applied patch from jdahlin (#120)
|
|
|
|
|
to have .connect() accept either a string or int as the port
|
|
|
|
|
parameter.
|
|
|
|
|
|
2006-09-01 12:23:51 +04:00
|
|
|
|
* psycopg/adapter_binary.c: applied patch from jdahlin (#119)
|
|
|
|
|
to fix the segfault on empty binary buffers.
|
|
|
|
|
|
2006-09-01 12:20:11 +04:00
|
|
|
|
* psycopg/connection_type.c: added .status attribute to expose
|
|
|
|
|
the internal status.
|
|
|
|
|
|
2006-09-01 11:45:58 +04:00
|
|
|
|
* psycopg/pqpath.c: applied patch from intgr (#117) to fix
|
|
|
|
|
segfault on null queries.
|
|
|
|
|
|
2006-09-01 11:42:30 +04:00
|
|
|
|
* psycopg/cursor_type.c: applied patch from intgr (#116) to
|
|
|
|
|
fix bad keyword naming and segfault in .executemany().
|
|
|
|
|
|
2006-09-01 11:19:22 +04:00
|
|
|
|
* ZPsycopgDA/DA.py: applied ImageFile patch from Charlie
|
|
|
|
|
Clark.
|
|
|
|
|
|
2006-09-01 11:12:23 +04:00
|
|
|
|
* 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 03:36:50 +04:00
|
|
|
|
2006-08-02 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.4.
|
|
|
|
|
|
|
|
|
|
* Fixed bug in float conversion (check for NULL string was
|
|
|
|
|
erroneously removed in 2.0.3!)
|
|
|
|
|
|
2006-07-31 04:02:08 +04:00
|
|
|
|
2006-07-31 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-07-31 04:22:13 +04:00
|
|
|
|
* Release 2.0.3.
|
|
|
|
|
|
2006-07-31 04:17:01 +04:00
|
|
|
|
* psycopg/cursor_type.c: applied patch from jbellis (#113) to
|
|
|
|
|
allow column selection in .copy_from().
|
|
|
|
|
|
2006-07-31 04:02:08 +04:00
|
|
|
|
* psycopg/psycopgmodule.c: fixed memory leak in custom exceptions
|
|
|
|
|
(applied patch from #114).
|
|
|
|
|
|
2006-07-26 09:13:08 +04:00
|
|
|
|
2006-07-26 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_datetime.c (pydatetime_str): fixed error
|
|
|
|
|
in conversion of microseconds for intervals and better algo
|
|
|
|
|
(thanks to Mario Frasca.)
|
|
|
|
|
|
2006-06-18 09:57:01 +04:00
|
|
|
|
2006-06-18 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 16:39:56 +04:00
|
|
|
|
2006-06-15 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 07:19:18 +04:00
|
|
|
|
2006-06-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-06-11 09:14:57 +04:00
|
|
|
|
* Release 2.0.2.
|
|
|
|
|
|
2006-06-11 09:09:59 +04:00
|
|
|
|
* 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).
|
|
|
|
|
|
2006-06-11 08:04:04 +04:00
|
|
|
|
* psycopg/adapter_binary.c: as below.
|
2006-06-11 07:40:16 +04:00
|
|
|
|
|
2006-06-11 08:04:04 +04:00
|
|
|
|
* 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).
|
2006-06-11 07:27:30 +04:00
|
|
|
|
|
2006-06-11 08:04:04 +04:00
|
|
|
|
* 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-11 07:19:18 +04:00
|
|
|
|
|
2006-06-09 04:06:38 +04:00
|
|
|
|
2006-06-09 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Release 2.0.1.
|
|
|
|
|
|
|
|
|
|
* Fixed some buglets in ZPsycopgDA (was unable to load due
|
|
|
|
|
to shorter version number in psycopg module.)
|
|
|
|
|
|
2006-06-08 03:41:40 +04:00
|
|
|
|
2006-06-08 Federico Di Gregorio <fog@initd.org>
|
2006-06-09 04:05:42 +04:00
|
|
|
|
|
|
|
|
|
* Release 2.0.
|
2006-06-08 03:41:40 +04:00
|
|
|
|
|
|
|
|
|
* ZPsycopgDA/DA.py: removed Browse table for 2.0 release; we'll
|
|
|
|
|
add it back later.
|
|
|
|
|
|
2006-05-26 09:22:49 +04:00
|
|
|
|
2006-05-26 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied better PostgreSQL patch from AA.
|
|
|
|
|
|
2006-05-24 14:02:33 +04:00
|
|
|
|
2006-05-24 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-05-24 14:29:35 +04:00
|
|
|
|
* Enabled 8.1.4 security fix only when the version is >= 8.1.4, fall
|
|
|
|
|
back to old code otherwise.
|
|
|
|
|
|
2006-05-24 14:02:33 +04:00
|
|
|
|
* psycopg/adapter_qstring.c: now quote using PQescapeStringConn if
|
|
|
|
|
available.
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_binary.c: now quote using PQescapeByteaConn if
|
|
|
|
|
available.
|
|
|
|
|
|
2006-04-27 18:20:11 +04:00
|
|
|
|
2006-04-38 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* setup.py: fixed little problem with mx_include_dir as suggested
|
|
|
|
|
by kvc (this closes #102).
|
|
|
|
|
|
2006-04-24 09:42:02 +04:00
|
|
|
|
2006-04-24 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_pboolean.c: added the possibility to format boolean
|
|
|
|
|
values as "true" and "false" instead of "'t'" and "'f'".
|
|
|
|
|
|
2006-03-08 04:03:19 +03:00
|
|
|
|
2006-03-08 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: added .next() to DictCursot to support iteration.
|
|
|
|
|
|
2006-03-02 16:47:30 +03:00
|
|
|
|
2006-03-02 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_array.c (typecast_array_tokenize): removed cast
|
|
|
|
|
to build without warnings on 64 bit arches.
|
|
|
|
|
|
2006-02-11 14:01:17 +03:00
|
|
|
|
2006-02-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 09:51:38 +03:00
|
|
|
|
2006-02-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-02-11 10:09:15 +03:00
|
|
|
|
* Release 2.0 beta 7.
|
|
|
|
|
|
2006-02-11 09:57:34 +03:00
|
|
|
|
* psycopg/psycopgmodule.c: applied fix for memory overflow in
|
|
|
|
|
connect() (reported by solt, #91.)
|
|
|
|
|
|
|
|
|
|
* setup.py: applied patch from lbruno.
|
2006-02-11 09:51:38 +03:00
|
|
|
|
|
2006-01-10 19:23:03 +03:00
|
|
|
|
2006-01-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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-05 19:56:40 +03:00
|
|
|
|
2006-01-06 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
|
|
|
|
|
|
|
|
* setup.py: libpq.dll not used anymore. win32 setup uses pg_config too.
|
|
|
|
|
|
2006-01-05 07:19:01 +03:00
|
|
|
|
2006-01-05 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-01-05 11:13:03 +03:00
|
|
|
|
* 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().
|
|
|
|
|
|
2006-01-05 07:19:01 +03:00
|
|
|
|
* setup.{cfg,py}: we now use pg_config to locate PostgreSQL libraries
|
|
|
|
|
and headers (modified patch from lbruno, see #70.)
|
|
|
|
|
|
2006-01-01 14:14:48 +03:00
|
|
|
|
2006-01-01 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2006-01-01 14:17:46 +03:00
|
|
|
|
* Preparing release 2 beta 7.
|
|
|
|
|
|
2006-01-01 14:14:48 +03:00
|
|
|
|
* 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.)
|
2006-01-01 12:10:17 +03:00
|
|
|
|
|
|
|
|
|
* psycopg/connection_int.c: PostgreSQL encoding names are now force
|
|
|
|
|
uppercase (after all PostgreSQL documentation reports them this way.)
|
|
|
|
|
|
2005-12-11 11:21:20 +03:00
|
|
|
|
2005-12-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 10:50:27 +03:00
|
|
|
|
2005-12-11 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-12-11 11:05:49 +03:00
|
|
|
|
* setup.py: half-applied patch from Tavis to specify mx_include_dir
|
|
|
|
|
in setup.cfg.
|
|
|
|
|
|
2005-12-11 10:50:27 +03:00
|
|
|
|
* 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 08:55:58 +03:00
|
|
|
|
2005-12-06 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* lib/extras.py: added .callproc() to DictCursor as suggested
|
|
|
|
|
by Philip Semanchuk.
|
|
|
|
|
|
2005-11-29 15:01:46 +03:00
|
|
|
|
2005-11-29 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* MANIFEST.in: added docs/async.txt. (Closes: #75)
|
|
|
|
|
|
2005-11-29 14:50:43 +03:00
|
|
|
|
2005-11-26 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
2005-11-26 10:47:48 +03:00
|
|
|
|
|
2005-11-29 14:50:43 +03:00
|
|
|
|
* psycopg/psycopgmodule.c: fixed exceptions refcount.
|
2005-11-26 10:47:48 +03:00
|
|
|
|
|
2005-11-29 14:50:43 +03:00
|
|
|
|
* Fixed lots of doctrings and added Epydoc-generated docs support.
|
2005-11-26 10:47:48 +03:00
|
|
|
|
|
2005-11-24 06:34:42 +03:00
|
|
|
|
2005-11-24 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 07:54:33 +03:00
|
|
|
|
2005-11-20 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast.c: fixed problem with microseconds conversion by
|
|
|
|
|
applying slightly modified patch from Ronnie Mackay.
|
|
|
|
|
|
2005-11-19 14:23:18 +03:00
|
|
|
|
2005-11-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-11-19 17:20:41 +03:00
|
|
|
|
* lib/extensions.py: COMMITED -> COMMITTED. (Closes: #73)
|
2005-11-20 07:54:33 +03:00
|
|
|
|
|
2005-11-19 14:23:18 +03:00
|
|
|
|
* 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 12:51:01 +03:00
|
|
|
|
2005-11-17 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* ZPsycopgDA/pool.py: fixed connections leak by using the new name
|
|
|
|
|
(PersistentConnectionPool) for the old connection pool class.
|
|
|
|
|
|
2005-11-15 19:05:15 +03:00
|
|
|
|
2005-11-16 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-11-16 16:47:11 +03:00
|
|
|
|
* Preparing release 2.0 beta 6.
|
2005-11-16 20:30:45 +03:00
|
|
|
|
|
|
|
|
|
* 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.
|
2005-11-16 16:47:11 +03:00
|
|
|
|
|
2005-11-15 19:05:15 +03:00
|
|
|
|
* 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 14:51:05 +03:00
|
|
|
|
2005-11-15 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 14:57:45 +03:00
|
|
|
|
2005-11-14 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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 17:26:41 +03:00
|
|
|
|
2005-11-07 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c: fixed problem with uninitialized value (all this was
|
|
|
|
|
started by replacing calloc() calls with PyMem_Malloc().)
|
|
|
|
|
|
2005-11-03 21:28:04 +03:00
|
|
|
|
2005-11-04 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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
|
2005-11-03 04:35:17 +03:00
|
|
|
|
|
2005-11-03 19:03:06 +03:00
|
|
|
|
* 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 <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Applied patch from Daniele Varazzo to enable Decimal on Python
|
2005-11-03 04:35:17 +03:00
|
|
|
|
2.3 when the module is available (run-time check, nice.)
|
|
|
|
|
|
2005-11-03 19:03:06 +03:00
|
|
|
|
2005-10-26 Federico Di Gregorio <fog@initd.org>
|
2005-10-25 20:00:49 +04:00
|
|
|
|
|
|
|
|
|
* setup.cfg: added include_dirs line for SUSE 9.3.
|
|
|
|
|
|
2005-10-25 19:35:11 +04:00
|
|
|
|
2005-10-22 Federico Di Gregorio <fog@initd.org>
|
2005-10-22 10:59:31 +04:00
|
|
|
|
|
|
|
|
|
* 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-19 18:38:37 +04:00
|
|
|
|
2005-10-20 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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-18 18:20:27 +04:00
|
|
|
|
2005-10-19 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* Releasing 2.0 beta 5.
|
2005-10-18 18:44:57 +04:00
|
|
|
|
|
|
|
|
|
* 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 18:20:27 +04:00
|
|
|
|
|
|
|
|
|
2005-10-18 Federico Di Gregorio <fog@initd.org>
|
2005-10-18 18:07:17 +04:00
|
|
|
|
|
|
|
|
|
* 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-17 19:01:14 +04:00
|
|
|
|
2005-10-18 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-10-18 09:29:42 +04:00
|
|
|
|
* 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.
|
|
|
|
|
|
2005-10-18 07:57:52 +04:00
|
|
|
|
* psycopg/config.h: ZETA config.h patch from Charlie Clark.
|
|
|
|
|
|
2005-10-18 05:35:34 +04:00
|
|
|
|
* examples/threads.py: fixed small typo: psycopg -> psycopg2.
|
|
|
|
|
|
2005-10-18 05:29:47 +04:00
|
|
|
|
* Big cleanup of unsigned chars to tame gcc 4.
|
|
|
|
|
|
|
|
|
|
* Big cleanup of module names (i.e., psycopg2._psycopg everywhere.)
|
|
|
|
|
|
2005-10-17 20:16:47 +04:00
|
|
|
|
* psycopg/config.h: added fake localtime_r for platforms missing it
|
|
|
|
|
|
2005-10-17 20:04:43 +04:00
|
|
|
|
* psycopg/cursor_type.c: cursors now have a FixedOffsetTimezone
|
|
|
|
|
tzinfo_factory by default.
|
|
|
|
|
|
2005-10-17 19:01:14 +04:00
|
|
|
|
* 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 <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_datetime.c: we now use localtime() instead of gmtime()
|
|
|
|
|
to accound for the local time-zone in timestamps.
|
2005-10-17 10:17:34 +04:00
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: fixed docstring for .cursor().
|
|
|
|
|
|
|
|
|
|
* psycopg/psycopgmodule.c: added useful docstring for .connect().
|
|
|
|
|
|
2005-10-08 07:15:17 +04:00
|
|
|
|
2005-10-08 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c: isolation level upper bound set to 2.
|
2005-10-08 07:04:40 +04:00
|
|
|
|
|
|
|
|
|
* 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-01 18:58:25 +04:00
|
|
|
|
2005-10-02 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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-09-30 20:18:26 +04:00
|
|
|
|
2005-10-01 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-09-30 20:48:41 +04:00
|
|
|
|
* psycopg/connection_int.c: fixed segfault by moving PyErr_Format
|
|
|
|
|
after GIL acquisition (closes: #50).
|
|
|
|
|
|
2005-09-30 20:18:26 +04:00
|
|
|
|
* psycopg/connection_type.c: applied patch from Matt Goodall to
|
|
|
|
|
fix some doc strings.
|
|
|
|
|
|
2005-09-24 17:59:57 +04:00
|
|
|
|
2005-09-23 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* lib/pool.py: applied patch from piro to avoid the scan of the
|
|
|
|
|
whole connection array on getconn().
|
|
|
|
|
|
2005-09-12 06:23:17 +04:00
|
|
|
|
2005-09-12 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-09-12 06:29:46 +04:00
|
|
|
|
* lib/pool.py: Applied psycopg->psycopg2 patch to from bug #35.
|
|
|
|
|
|
2005-09-24 17:59:57 +04:00
|
|
|
|
* ZpsycopgDA/db.py: fixed problem with OperationalError that
|
|
|
|
|
resulted in cryptic message to Zope users ("'OperationalError' is
|
|
|
|
|
not defined".)
|
2005-09-12 06:23:17 +04:00
|
|
|
|
|
2005-08-22 19:45:06 +04:00
|
|
|
|
2005-08-23 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-08-23 14:38:36 +04:00
|
|
|
|
* setup.py: applied patch from Daniele Varrazzo to avoid segfaults
|
|
|
|
|
when compiling with migw for Python 2.4.x.
|
|
|
|
|
|
2005-08-22 19:45:06 +04:00
|
|
|
|
* 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 05:49:18 +04:00
|
|
|
|
2005-08-22 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* ZPsycopgDA/*.py: psycopg -> psycopg2.
|
|
|
|
|
|
|
|
|
|
* setup.py: modified to install the module components under
|
|
|
|
|
psycopg2 on windows too (thanks to Daniele Varrazzo.)
|
|
|
|
|
|
2005-08-07 06:20:46 +04:00
|
|
|
|
2005-08-07 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/config.h: added __sun__ to the symbols checked for round()
|
|
|
|
|
|
2005-07-21 12:36:55 +04:00
|
|
|
|
2005-07-21 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/adapter_datetime.c (psyco_XXXFromTicks): fixed the 1900
|
|
|
|
|
years offset reported by Jeroen van Dongen (see ticket #33).
|
|
|
|
|
|
2005-07-17 08:08:08 +04:00
|
|
|
|
2005-07-17 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-07-17 08:31:32 +04:00
|
|
|
|
* Release 2.0 beta 4.
|
|
|
|
|
|
2005-07-17 08:08:08 +04:00
|
|
|
|
* lib/extras.py (DictConnection.cursor): added DictConnection to
|
|
|
|
|
make easier to retrieve data in DictRows.
|
|
|
|
|
|
2005-06-24 11:11:44 +04:00
|
|
|
|
2005-06-24 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_datetime.c (typecast_PYINTERVAL_cast): applied patch
|
|
|
|
|
from Geert Jansen to fix interval bug due to overflow.
|
|
|
|
|
|
2005-06-17 19:17:57 +04:00
|
|
|
|
2005-06-18 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-06-17 19:47:22 +04:00
|
|
|
|
* setup.cfg: some clarifications and include_dirs example for Mandrake.
|
|
|
|
|
|
2005-07-17 08:08:08 +04:00
|
|
|
|
* ZPsycopgDA/DA.py: DTMLFile -> HTMLFile everywhere to fix zope
|
|
|
|
|
cut&paste problems.
|
2005-06-17 19:36:28 +04:00
|
|
|
|
|
|
|
|
|
* MANIFEST.in: added missing files to do bdist_rpm.
|
|
|
|
|
|
2005-06-17 19:17:57 +04:00
|
|
|
|
* 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 07:54:24 +04:00
|
|
|
|
2005-06-13 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-06-13 08:25:09 +04:00
|
|
|
|
* psycopg/psycopgmodule.c (psyco_connect): changed the port keyword
|
|
|
|
|
parameter type to int (instead of string); this should fix #23.
|
|
|
|
|
|
2005-07-17 08:08:08 +04:00
|
|
|
|
* psycopg/cursor_type.c (_psyco_curs_execute): now checks for
|
|
|
|
|
empty queries and raise a ProgrammingError if appropriate (closes:
|
|
|
|
|
#24).
|
2005-06-13 07:54:24 +04:00
|
|
|
|
|
|
|
|
|
* setup.py: psycopg module renamed to psycopg2.
|
|
|
|
|
|
2005-06-02 08:30:31 +04:00
|
|
|
|
2005-06-02 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c (_psyco_curs_execute): fixed segfault when
|
|
|
|
|
not passing string or unicode to .execute().
|
|
|
|
|
|
2005-06-02 10:56:21 +04:00
|
|
|
|
2005-06-01 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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 05:55:02 +04:00
|
|
|
|
2005-05-31 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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-05-27 12:43:33 +04:00
|
|
|
|
2005-5-27 Federico Di Gregorio, <fog@lana.initd.org>
|
|
|
|
|
|
|
|
|
|
* tests/types_basic.py: fixed float and binary tests.
|
|
|
|
|
|
2005-05-26 11:34:27 +04:00
|
|
|
|
2005-05-26 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-05-26 11:36:01 +04:00
|
|
|
|
* Release 2.0b3.
|
|
|
|
|
|
2005-05-26 11:34:27 +04:00
|
|
|
|
* 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 05:18:21 +04:00
|
|
|
|
2005-05-19 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-05-19 08:48:26 +04:00
|
|
|
|
* Release 2.0b2.
|
|
|
|
|
|
|
|
|
|
* lib/extras.py (DictRow): Some extra methods for DictRow.
|
|
|
|
|
|
2005-05-19 05:18:21 +04:00
|
|
|
|
* 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 03:32:26 +04:00
|
|
|
|
2005-05-18 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-05-18 12:01:49 +04:00
|
|
|
|
* ZPsycopgDA/DA.py (ALLOWED_PSYCOPG_VERSIONS): updated to work
|
|
|
|
|
with 2.0b2 only (will support only the exact version untill final
|
|
|
|
|
2.0 release.)
|
|
|
|
|
|
2005-05-18 03:32:26 +04:00
|
|
|
|
* setup.py: Applied combined patch from Daniele Varrazzo and Jason
|
|
|
|
|
Erickson to build on win32 using MSVC or mingw.
|
|
|
|
|
|
2005-05-15 14:29:59 +04:00
|
|
|
|
2005-05-15 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/microprotocols.c (microprotocols_adapt): fixed memory
|
2005-05-18 12:12:10 +04:00
|
|
|
|
leak on None as suggested by gh (closes: #16).
|
2005-05-15 14:29:59 +04:00
|
|
|
|
|
2005-05-10 06:29:24 +04:00
|
|
|
|
2005-05-10 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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 10:52:30 +04:00
|
|
|
|
2005-05-09 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-05-09 13:48:40 +04:00
|
|
|
|
* Release 2.0 beta 1.
|
|
|
|
|
|
2005-05-09 12:54:32 +04:00
|
|
|
|
* 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.
|
|
|
|
|
|
2005-05-09 12:11:43 +04:00
|
|
|
|
* psycopg/typecast_binary.*: applied slightly modified
|
|
|
|
|
chunk/buffer object patch to allow round-trip of buffer objects
|
|
|
|
|
(BYTEA columns.)
|
|
|
|
|
|
2005-05-09 10:52:30 +04:00
|
|
|
|
* psycopg/cursor_type.c (psyco_curs_executemany): applied slightly
|
|
|
|
|
fixed patch from wrobell to allow iterators in .executemany().
|
|
|
|
|
|
2005-04-25 08:58:38 +04:00
|
|
|
|
2005-04-18 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* MANIFEST.in: included debian directory.
|
|
|
|
|
|
2005-04-10 07:05:39 +04:00
|
|
|
|
2005-04-10 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-04-10 09:38:34 +04:00
|
|
|
|
* psycopg/adapter_list.*: added list adapter.
|
|
|
|
|
|
|
|
|
|
* psycopg/microprotocols.c (microprotocol_getquoted): moved
|
|
|
|
|
_mogrify_getquoted into utility function in the microprotocols
|
|
|
|
|
library.
|
|
|
|
|
|
2005-04-10 07:36:39 +04:00
|
|
|
|
* setup.py: Added extensive error message on missing datetime
|
|
|
|
|
headers.
|
|
|
|
|
|
2005-04-10 07:05:39 +04:00
|
|
|
|
* Applied mingw patch from Daniele Varazzo.
|
|
|
|
|
|
2005-04-03 10:13:24 +04:00
|
|
|
|
2005-04-03 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-04-03 10:16:24 +04:00
|
|
|
|
* lib/psycopg1.py (connection.autocommit): added compatibility
|
|
|
|
|
.autocommit() method.
|
|
|
|
|
|
2005-04-03 10:13:24 +04:00
|
|
|
|
* psycopg/psycopgmodule.c (psyco_connect): factory ->
|
|
|
|
|
connection_factory.
|
|
|
|
|
|
|
|
|
|
* lib/psycopg1.py: added psycopg 1.1.x compatibility module.
|
|
|
|
|
|
2005-03-29 10:00:38 +04:00
|
|
|
|
2005-03-29 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-04-11 11:20:46 +04:00
|
|
|
|
* Applied patch to fix tuple count.
|
|
|
|
|
|
2005-03-29 10:00:38 +04:00
|
|
|
|
* 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-23 20:17:48 +03:00
|
|
|
|
2005-03-24 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-04-03 10:13:24 +04:00
|
|
|
|
* 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.
|
|
|
|
|
|
2005-03-23 20:17:48 +03:00
|
|
|
|
* psycopg/typecast_array.c (typecast_array_tokenize): much better
|
|
|
|
|
tokenization code.
|
|
|
|
|
|
2005-03-22 19:33:57 +03:00
|
|
|
|
2005-03-23 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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 17:20:20 +03:00
|
|
|
|
2005-03-22 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast_array.c: added some more structure to implement
|
|
|
|
|
array typecasting.
|
|
|
|
|
|
|
|
|
|
* scripts/buildtypes.py: new version to include array data.
|
|
|
|
|
|
2005-03-23 13:32:30 +03:00
|
|
|
|
2005-03-15 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* lib/extensions.py: Added AsIs import.
|
|
|
|
|
|
2005-03-12 09:39:47 +03:00
|
|
|
|
2005-03-12 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-03-23 13:32:30 +03:00
|
|
|
|
* psycopg/cursor.h: removed "qattr", not used anymore and added
|
|
|
|
|
"cast", holding the typecaster currently in use.
|
|
|
|
|
|
|
|
|
|
* Release 1.99.13.
|
|
|
|
|
|
2005-03-12 10:22:48 +03:00
|
|
|
|
* 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().
|
|
|
|
|
|
2005-03-12 09:39:47 +03:00
|
|
|
|
* psycopg/cursor_type.c (_psyco_curs_buildrow_fill): modified to
|
|
|
|
|
call typecast_cast().
|
2005-03-12 10:22:48 +03:00
|
|
|
|
|
2005-03-12 09:39:47 +03:00
|
|
|
|
* 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 06:33:15 +03:00
|
|
|
|
2005-03-04 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
2005-03-12 09:39:47 +03:00
|
|
|
|
* Release 1.99.12.1.
|
2005-03-04 06:33:15 +03:00
|
|
|
|
|
|
|
|
|
* psycopg/adapter_asis.c (asis_str): changed call to PyObject_Repr
|
|
|
|
|
to PyObject_Str to avoid problems with long integers.
|
|
|
|
|
|
2005-03-12 09:39:47 +03:00
|
|
|
|
2005-03-03 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/typecast.h: added array casting functions.
|
|
|
|
|
|
|
|
|
|
* scripts/maketypes.sh: does not generate pgversion.h anymore.
|
|
|
|
|
|
|
|
|
|
* Updated all examples for the release.
|
|
|
|
|
|
2005-03-01 19:41:02 +03:00
|
|
|
|
2005-03-02 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-03-12 09:39:47 +03:00
|
|
|
|
* Release 1.99.12.
|
2005-03-04 06:33:15 +03:00
|
|
|
|
|
2005-03-03 09:31:03 +03:00
|
|
|
|
* psycopg/adapter_*.c: added __conform__ to all adapters.
|
|
|
|
|
|
2005-03-02 17:16:55 +03:00
|
|
|
|
* 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!)
|
|
|
|
|
|
2005-03-02 17:07:03 +03:00
|
|
|
|
* 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.
|
|
|
|
|
|
2005-03-01 19:41:02 +03:00
|
|
|
|
* 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-02-28 18:50:55 +03:00
|
|
|
|
2005-03-01 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2005-03-01 19:41:02 +03:00
|
|
|
|
* setup.py: now we generate a slighly more verbose version string
|
|
|
|
|
that embeds some of the compile options, to facilitate users' bug
|
|
|
|
|
reports.
|
|
|
|
|
|
2005-03-01 10:06:11 +03:00
|
|
|
|
* 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. :/
|
|
|
|
|
|
2005-02-28 18:50:55 +03:00
|
|
|
|
* psycopg/microprotocols.c (microprotocols_adapt): fixed small
|
|
|
|
|
typo that made adaptation using __conform__ impossible.
|
|
|
|
|
|
|
|
|
|
2005-02-28 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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-02-27 18:03:53 +03:00
|
|
|
|
2005-2-27 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* examples/myfirstrecipe.py: fixed adapter registration.
|
|
|
|
|
|
2005-02-07 05:42:33 +03:00
|
|
|
|
2005-2-7 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* setup.py: added patch by Valentino Volonghi to build on MacOS X.
|
|
|
|
|
|
2005-01-29 07:16:25 +03:00
|
|
|
|
2005-01-29 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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 08:49:40 +03:00
|
|
|
|
2005-01-20 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* lib/extensions.py (register_adapter): added register_adapter
|
|
|
|
|
function, exported ISQLQuote in psycopg.extensions.
|
|
|
|
|
|
|
|
|
|
2005-01-18 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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 <fog@debian.org>
|
|
|
|
|
|
2005-03-01 19:41:02 +03:00
|
|
|
|
* ZPsycopgDA/db.py (DB.query
|
|
|
|
|
): ported ZPsycopgDA connection fix
|
2005-01-20 08:49:40 +03:00
|
|
|
|
from psycopg 1.1.
|
|
|
|
|
|
|
|
|
|
* lib/*.py: added pydoc-friendly messages.
|
|
|
|
|
|
|
|
|
|
2005-01-12 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* Added debian directory (thanks to W. Borgert who sent initial
|
|
|
|
|
patch based on cdbs.)
|
|
|
|
|
|
2004-12-20 05:32:08 +03:00
|
|
|
|
2004-12-20 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/pqpath.c (pq_execute): removed multiple calls to
|
|
|
|
|
pq_fetch in syncronous DBAPI compatibility mode to solve rowcount
|
|
|
|
|
problem.
|
|
|
|
|
|
2004-12-13 17:29:42 +03:00
|
|
|
|
2004-12-14 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
2004-12-14 08:12:56 +03:00
|
|
|
|
* Mm.. release 1.99.11.
|
|
|
|
|
|
2004-12-14 06:33:03 +03:00
|
|
|
|
* 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.
|
|
|
|
|
|
2004-12-13 17:29:42 +03:00
|
|
|
|
* 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 13:34:57 +03:00
|
|
|
|
2004-12-10 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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 13:57:54 +03:00
|
|
|
|
2004-11-20 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/cursor_type.c (_mogrify): ported %% fix from 1.1.15.
|
|
|
|
|
|
|
|
|
|
2004-11-20 Federico Di Gregorio <fog@initd.org>
|
|
|
|
|
|
|
|
|
|
* 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-19 18:50:57 +03:00
|
|
|
|
2004-11-20 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* psycopg/connection_type.c (psyco_conn_cursor): renamed 'cursor'
|
|
|
|
|
argument to 'cursor_factory'.
|
|
|
|
|
|
2004-11-19 18:30:07 +03:00
|
|
|
|
2004-11-19 Federico Di Gregorio <fog@debian.org>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2004-12-10 13:34:57 +03:00
|
|
|
|
* psycopg/cursor_type.c: changed cursor attribute name from
|
2004-11-19 18:30:07 +03:00
|
|
|
|
tuple_factory to row_factory.
|
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-10-14 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* lib/extras.py (DictCursor.execute): fixed stupid bug with cursor
|
|
|
|
|
setting self.tuplefactory instead of self.tuple_factory.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-10-02 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.10.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (_psyco_curs_buildrow_*): unified normal
|
|
|
|
|
and factory code into the _psyco_curs_buildrow_fill function; no
|
|
|
|
|
more memory leaks here.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/config.h (round): added check for __FreeBSD__ (that
|
|
|
|
|
should be defined when compiling with gcc, I hope.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* setup.py: removed a lot of code now in setup.cfg.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-09-24 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (cursor_dealloc): fixed small memory leak
|
|
|
|
|
due to missing disposal of self->pgres.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-9-14 Federico Di Gregorio <fog@initd.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* examples/dialtone.py: Added adapt() example by Valentino
|
|
|
|
|
Volonghi.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-09-14 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-09-13 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (_mogrify): and qattr is gone.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-09-05 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.9 (or, the "twisting by the pool" release).
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/pqpath.c (_pq_fetch_tuples): changed to "static void"
|
|
|
|
|
instead of "static int", no ways for this function to fail.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-09-04 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/pqpath.c (_pq_fetch_tuples): ported rowcount fix from
|
|
|
|
|
1.1.15.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* ZPsycopgDA/*: ZPsycopgDA back in action, using the new pooling
|
|
|
|
|
code.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-08-29 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_basic.c (typecast_DECIMAL_cast): added DECIMAL
|
|
|
|
|
typecaster; it even works :).
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* scripts/buildtypes.py (basic_types): added DECIMAL typecaster
|
|
|
|
|
for the NUMERIC oid.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* examples/threads.py: updated threads example to use pooling code.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* lib/pool.py: added very simple and thread-safe connection
|
|
|
|
|
pooling class.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (psyco_curs_fetchmany): fixed problem with
|
|
|
|
|
.fetchall() and .fetchmany() returning None instead of [] on empty
|
|
|
|
|
result sets.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.8.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-08-28 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (psyco_curs_execute): added processing of
|
|
|
|
|
unicode queries.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* examples/encoding.py: much better encoding example, also using
|
|
|
|
|
the new UNICODE typecaster.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_basic.c (typecast_UNICODE_cast): added UNICODE
|
|
|
|
|
typecaster.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* lib/extensions.py: the encodings dictionary is not available by
|
|
|
|
|
default but can be accessed from the psycopg.extensions module.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/adapter_qstring.h: remove encoding information from
|
|
|
|
|
qstring adapter and moved it into psycopg module.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-08-26 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (_psyco_curs_prefetch): added check for
|
|
|
|
|
asynchronous fetch by wrong cursor.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/pqpath.c (pq_fetch): fixed backend status message (bug
|
|
|
|
|
reported by Daniele Varrazzo.)
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-29 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-21 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-19 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_datetime.c (typecast_PYINTERVAL_cast): replaced
|
|
|
|
|
round() with micro() when rounding seconds (fixes bugs reported by
|
|
|
|
|
Daniele Varrazzo.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-16 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (psyco_curs_fileno, psyco_curs_isready):
|
|
|
|
|
added extension methods related to async queries.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-15 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.7.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* examples/tz.py: added example about time zones.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): create
|
|
|
|
|
FixedOffsetTimezone for postgresql "timestamp with time zone"
|
|
|
|
|
types.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* lib/tz.py: added (even more than) needed tzinfo classes.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast.c (typecast_call): changed typecast call code
|
|
|
|
|
to take the additional cursor parameter, needed for
|
|
|
|
|
cursor-dependent type casting (tzinfo & friends.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (_psyco_curs_buildrow_with_factory): added
|
|
|
|
|
use of tuple factories to fetcXXX methods.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* lib/extras.py: little extra goodies for psycopg.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-14 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.6.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/connection_type.c: added .dsn attribute to connection
|
|
|
|
|
objects.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (psyco_curs_mogrify): added .mogrify()
|
|
|
|
|
method.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/adapter_qstring.c: copy the connection encoding only if
|
|
|
|
|
wrapped object is unicode and added table of encodings.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-13 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* lib/extensions.py: added extensions module to clearly separate
|
|
|
|
|
psycopg own extensions from DBAPI-2.0
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-07-10 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_datetime.c: ported interval fix from 1.1.x.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-05-16 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_datetime.c (typecast_*_cast): fixed Value error
|
|
|
|
|
when seconds > 59 by setting minutes += 1 and seconds -= 60
|
|
|
|
|
(reported by Marcel Gsteiger.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-24 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* ported time interval patch by Ross Cohen from 1.1.12.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-19 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_datetime.c (typecast_PYDATE_cast): applied
|
|
|
|
|
patch from Jason Erickson: min and max taken from datetime.Date
|
|
|
|
|
type.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-18 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Applied changes from Jason Erickson to build on win32; see his
|
|
|
|
|
(slightly edited) entry below. (Still builds on Linux :)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/*.c: removed inclusion of pthread.h from all files
|
|
|
|
|
except psycopg/config.h to build on win32 without faking the file.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-15 Jason Erickson <jerickso@stickpeople.com>
|
|
|
|
|
|
|
|
|
|
* setup.py: Various changes. The critical ones:
|
|
|
|
|
- Make an empty pthread.h file so all the code doing an
|
|
|
|
|
#include <pthread.h> 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-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-15 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.5 (bug-fixing and reorganization)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-14 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/psycopgmodule.c (initpsycopg): wrapped initialization of
|
|
|
|
|
date/time adapters in #ifdefs to have psycopg compile without mx
|
|
|
|
|
or builtin datetime.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-10 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.4.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-09 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast_builtins.c: changed DATE to not include
|
|
|
|
|
DATETIME types anymore.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/adapter_datetime.c (pydatetime_str): switched from
|
|
|
|
|
strftime to isoformat to preserve fractional seconds.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-04-08 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/psycopgmodule.c (psyco_connect): ported sslmode
|
|
|
|
|
parameter from 1.1 branch.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/adapter_datetime.*: added python built-in datetime
|
|
|
|
|
adapters. also added the datetime typecasters (still using mx as
|
|
|
|
|
default).
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/typecast.h: removed aliases, they now live in the right
|
|
|
|
|
typecast_xxx.c file.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-03-08 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.3 (alpha 4).
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* examples/lastrowid.py: and the .lastrowid example is in.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c (_mogrify): added call to .prepare()
|
|
|
|
|
method in both dict and sequence path.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/connection_int.c (conn_set_client_encoding): added
|
|
|
|
|
encoding-change code.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/adapter_qstring.c (qstring_quote): added hard-coded
|
|
|
|
|
support for utf8 and latin1 encodings.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-03-01 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-02-29 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.2 (alpha 3).
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/cursor_type.c: added .rownumber and .connection
|
|
|
|
|
attributes. Also added .scroll(), .next() and .__iter__() methods
|
|
|
|
|
(see DBAPI2-.0 extensions on PEP.)
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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.)
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* psycopg/connection_int.c (conn_switch_isolation_level): added
|
|
|
|
|
isolation level switching code.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* setup.py: removed all references to PSYCOPG_NEWSTYLE: support
|
|
|
|
|
for python < 2.2 has been dropped.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* typecast_basic.c (typecast_BINARY_cast): now binary objects are
|
|
|
|
|
returned as true buffers.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* adapter_binary.*: added adapter for buffers and binary (bytea)
|
2004-10-19 07:17:12 +04:00
|
|
|
|
objects.
|
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* Release 1.99.1 (alpha 2).
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* adapter_mxdatetime.*: added adapters for all mx.DateTime types.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-02-28 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* cursor_type.c (_mogrify): complete rework of the mogrification
|
|
|
|
|
code to use the microprotocols_adapt function.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* typecast_basic.c (typecast_BOOLEAN_cast): we now return real
|
|
|
|
|
Py_True and Py_False values.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* microprotocols.h: added very simple microprotocols
|
|
|
|
|
implementation to allow for python->postgresql types registry.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-01-05 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* connection_int.c (conn_commit/conn_rollback): added code to
|
|
|
|
|
commit/rollback and connection methods.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-01-04 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* cursor_type.c (psyco_curs_fetchone): added fetchone method.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2004-01-03 Federico Di Gregorio <fog@debian.org>
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* added (empty) INSTALL file.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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.
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2003-08-01 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* cursor_type.c (_mogrify_sequence): added sequence mogrification,
|
|
|
|
|
can be done better, on the dict model.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2003-07-28 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* typeobj_qstring.c: added quoted strings (can use both own code,
|
|
|
|
|
like psycopg 1.x or PQescapeString from lipq.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2003-07-21 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* connection_type.c (psyco_conn_close): added .close()
|
|
|
|
|
method. wow.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* cursor_*.c: added basic cursor interface (new-style.)
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
2003-07-20 Federico Di Gregorio <fog@debian.org>
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-29 20:15:45 +04:00
|
|
|
|
* 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.
|
2004-10-29 20:08:31 +04:00
|
|
|
|
|
2004-10-19 07:17:12 +04:00
|
|
|
|
|