Commit Graph

880 Commits

Author SHA1 Message Date
Daniele Varrazzo
5f6e773575 Broken circular reference in async execution
If a connection is destroyed before an async operation is completed, the
`async_cursor` member creates a reference loop, leaving the connection and
the cursor alive. `async_cursor` is now a weak reference.
2011-01-03 21:34:49 +01:00
Daniele Varrazzo
19ff51ae75 The cursor is weakly referenceable 2011-01-03 21:34:49 +01:00
Daniele Varrazzo
04cf90cc21 The connection is weakly referenceable 2011-01-03 21:34:49 +01:00
Daniele Varrazzo
5888b03608 Fixed "historical" reference leak in TimestampFromTicks
Added an internal function with C signature to avoid the creation of a
tuple to be later unpacked. When the tuple was decref'd, Python 2.4 64
bits regularly segfaulted; Python 2.5 less regularly; don't know about
other versions.
2011-01-03 21:34:49 +01:00
Daniele Varrazzo
8b0af283f6 Don't register the unicode typecaster globally during tests
It can invalidate the results in further runs in the same process.
2011-01-03 21:34:49 +01:00
Daniele Varrazzo
131c6a25e9 Unregister test adapters to keep a more precise references count 2011-01-03 21:34:46 +01:00
Daniele Varrazzo
a44441f5e5 Added script to look for refcounting bugs 2011-01-03 21:34:46 +01:00
Daniele Varrazzo
3cc8719998 Added missing test to the test suite. 2011-01-02 03:00:44 +01:00
Daniele Varrazzo
17f69ba735 Fixed Makefile dependencies of the test suite. 2011-01-02 03:00:32 +01:00
Daniele Varrazzo
afb87bb10a Fixed "building" of purelib files with make.
Using build instead of build_py forced build_ext to run too, which may
fail to run as the option PG_CONFIG is not passed (or, worse, we may end
up building against the wrong pg_config).

Also touching the target file as make seems considering the source file
newer than the destination when the timestamp is the same (as it is
because the file is usually just copied).
2011-01-02 02:44:56 +01:00
Daniele Varrazzo
d08bfcbee5 Refuse to build if pg_config is not found.
I think half of the problems in OS X setup are due to setup going ahead
even when the pg_config is not found. We are now only building with PG
version that make the tool available.
2011-01-02 02:01:53 +01:00
Daniele Varrazzo
45c6dfb69d Merge branch 'adapt-type' into python2 2011-01-02 00:35:59 +01:00
Daniele Varrazzo
7ac0bdd661 Added PostgreSQL composite types typecaster to Python tuples. 2011-01-02 00:34:13 +01:00
Daniele Varrazzo
159cda3688 Added cursor.cast() method
The method exposes the typecasters lookup algorithm. Useful to create
recursive typecasters.
2011-01-01 22:55:10 +01:00
Daniele Varrazzo
f9be48d89e Merge branch 'none-in-composite' into python2 2011-01-01 17:09:37 +01:00
Daniele Varrazzo
fdfa2de1a1 Fixed adaptation of None in composite types (ticket #26).
Added an adapter for None: it is usually not invoked as adaptation to
NULL is a fast path in mogrify, but can be invoked by composite types.
Notice that composite types still have the option to fast-path None
(e.g. list adapter does).
2011-01-01 17:07:54 +01:00
Daniele Varrazzo
506ce93a5b Bump to the next dev version. 2011-01-01 12:55:41 +01:00
Daniele Varrazzo
30921b58a8 Dropped conversion from None to NULL in adapter.
It was an error as the string is not conform to the protocol. The error
is masked by the None fast path in _mogrify, but surfaces when adapting
a tuple contains a None.
2010-12-31 18:55:33 +01:00
Daniele Varrazzo
b5a8facb9c Added test to show failed adaptation of None in records. 2010-12-31 18:54:50 +01:00
Federico Di Gregorio
69c66a3a3f Preparing release 2.3.2 2010-12-20 13:33:21 +01:00
Daniele Varrazzo
ddd2de0410 Updated ChangeLog/NEWS after ticket #24 patch commit. 2010-12-18 15:38:56 +00:00
Marti Raudsepp
a08419406c Don't segfault when PQparameterStatus(DateStyle) returns NULL
pgbouncer for example does not pass on DateStyle.
2010-12-18 15:27:15 +00:00
Daniele Varrazzo
5a0cfad95f Bump to next dev version. 2010-12-18 15:25:53 +00:00
Daniele Varrazzo
cf243ccf37 Shorter "never ending query" to test query canceling.
If the cancel signal misses the race, this query will stay in the
backend until the sleep expires.
2010-12-04 23:21:16 +00:00
Daniele Varrazzo
13c2f5a78b Added target to package the docs for PyPI documentation. 2010-12-04 23:14:03 +00:00
Daniele Varrazzo
9e9933faed Update classifier URLs for PyPI. 2010-12-04 23:14:03 +00:00
Federico Di Gregorio
ee5015a30b Preparing release 2.3.1 2010-12-04 21:24:02 +01:00
Daniele Varrazzo
557e28d744 Dropped interface for two private functions.
Note: the functions are private because typecast.c imports the .c's of
typecast_[mx]datetime, not the .h's.

Work around the warning for 'skip_until_space' not used with an #ifdef.
Furthermore, those functions are now static.
2010-12-04 13:51:21 +00:00
Daniele Varrazzo
288f9ee809 Work around CentOS 5.5 x86_64 buld problem.
Closes ticket #23
2010-12-04 13:51:21 +00:00
Daniele Varrazzo
ebd73c14a8 Going to dev version for 2.3.1. 2010-12-04 13:43:28 +00:00
Daniele Varrazzo
9c71a9c6e5 Added link to psycogreen. 2010-12-02 17:13:13 +00:00
Daniele Varrazzo
bde523695a Fixed index entries of green-related terms. 2010-12-02 15:15:31 +00:00
Daniele Varrazzo
4bd8f8c76b Typo/tenso fixed. 2010-12-02 15:07:17 +00:00
Daniele Varrazzo
593cd20b4a Added index entries under Adaptation for different objects. 2010-12-02 15:06:27 +00:00
Federico Di Gregorio
2dae07a796 Preparing release 2.3.0 2010-12-02 14:41:58 +01:00
Daniele Varrazzo
46a5f140c7 Bail out early from tests if connection to the test db fails. 2010-12-01 20:56:25 +00:00
Federico Di Gregorio
5f80dd38c4 Removed runtests target; checks is the default for Makefiles 2010-12-01 21:55:42 +01:00
Federico Di Gregorio
a411f85354 Removed default test database from Makefile
The default is already in test/__init__.py and the Makefile was
overwriting the PSYCOPG2_TESTDB env variable.
2010-12-01 21:29:33 +01:00
Federico Di Gregorio
f981e81813 Merge remote branch 'piro/python2' into python2 2010-12-01 19:47:44 +01:00
Daniele Varrazzo
6688e7011c Typos fixed in the news. 2010-12-01 13:21:16 +00:00
Daniele Varrazzo
0ad7483a2b DictRow items can be updated. Patch by Alex Aster. 2010-12-01 13:17:12 +00:00
Daniele Varrazzo
6f2d40405e Added documentation for ISQLQuote.prepare(). 2010-11-28 18:26:30 +00:00
Daniele Varrazzo
361786f4a8 More careful connections handling during tests. 2010-11-28 17:29:37 +00:00
Daniele Varrazzo
598b9424d2 Deal uniformly with test servers without pg_sleep. 2010-11-28 17:29:36 +00:00
Daniele Varrazzo
2b6d2017ed Added paranoia test to check we haven't broken gil release.
Got scared testing cancel with a signal as it doesn't work. But probably
signals are not deliveded to Python in the middle of an opcode.
2010-11-28 17:29:35 +00:00
Daniele Varrazzo
0c7b0a943b A prepared connection can't be canceled. 2010-11-28 12:15:26 +00:00
Daniele Varrazzo
4dbd4344a3 Mention query cancelling in the release notes. 2010-11-28 12:14:04 +00:00
Jan Urbański
751bfa1ea6 Support query cancellation.
Add a cancel() method do the connection object that will interrupt
the current query using the libpq PQcancel() function.
2010-11-28 11:50:02 +00:00
Daniele Varrazzo
9f78141532 Don't consider the kernel not blocking us on write as an error. 2010-11-25 03:13:49 +00:00
Daniele Varrazzo
5a025825cc Skip test if uuid not available on Python. 2010-11-24 11:04:18 +00:00