Commit Graph

1664 Commits

Author SHA1 Message Date
Daniele Varrazzo
b12f6a9135 Don't import psycopg2.tz into the C extension
This makes possible to import _psycopg directly, after adding the
package directory to the pythonpath. This enables hacks such as:

    sys.path.insert(0, '/path/to/psycopg2')
    import _psycopg
    sys.modules['psycopg2._psycopg'] = _psycopg
    sys.path.pop(0)

which can work around e.g. the problem of #201, freeze that cannot
freeze psycopg2. Well, freeze cannot freeze it because it's just not
designed to deal with C extensions. At least now the frozen application
can hack the pythonpath and work around the limitation by importing
_psycopg as above and then doing the rest of the imports normally.

Keeping long-lived references to python objects is bad anyway: the
tz module couldn't be reloaded before.
2014-08-26 03:26:59 +01:00
Daniele Varrazzo
284677ae0a Dropped content from the INSTALL file
The docs have it right.
2014-08-24 23:24:58 +01:00
Daniele Varrazzo
af7789b40c Added info about running the test suite in the docs
They were in the INSTALL file, which is quite out-of-date now.
Also fixed a couple of other things.
2014-08-24 23:24:52 +01:00
Daniele Varrazzo
72a121c78f Self-updating copyright year in docs 2014-08-24 23:11:53 +01:00
Daniele Varrazzo
f751c27208 Document we known 9.4 errorcodes 2014-08-24 22:11:40 +01:00
Daniele Varrazzo
3775a9d95d Fixed doc example about Error attributes
Catch the Error, not everything!

Also, whitespaces.
2014-08-24 22:08:50 +01:00
Daniele Varrazzo
cafae16072 Merge branch 'withhold-transactions' into maint_2_5 2014-08-21 05:47:17 +01:00
Daniele Varrazzo
c114aff435 Document WITH HOLD corrections. 2014-08-21 05:46:57 +01:00
Alexey Borzenkov
e08be44db7 Allow using named with hold cursors in autocommit 2014-08-21 05:15:01 +01:00
Daniele Varrazzo
75a0b2ffe2 Added test to verify withhold cursors work in autocommit 2014-08-21 05:14:20 +01:00
Alexey Borzenkov
d131b2b22b No implicit transaction on named cursor close
Also, don't start an implicit transaction when fetching with
named with hold cursor, since it already returns results
from a previously committed transaction.
2014-08-21 05:05:54 +01:00
Daniele Varrazzo
18d67a73d5 Added test to verify withhold transaction behaviour
A withhold cursor can read its data when the transaction is closed, so
it shouldn't start a new one upon movement/close.
2014-08-21 05:05:54 +01:00
Daniele Varrazzo
0e44198a8f Fixed segfault in List function
This function is never called: it segfaults 100%. To be removed.
2014-08-15 02:11:43 +01:00
Daniele Varrazzo
756c6f1838 Scrape PostgreSQL 9.4 error codes table too
No new error code found as of 9.4 beta2.
2014-08-13 02:45:45 +01:00
Daniele Varrazzo
d232f25a68 Convert pool arguments to int
Failing to do so may cause dangerous misbehaviours such as an unbounded
pool (because of lame comparison operators in Python 2).

Fix ticket #220.
2014-08-13 02:37:00 +01:00
Daniele Varrazzo
f9518e42b9 Document PostgreSQL 9.4 as supported
Actually there is a test failing in the test suite in PG 9.4beta2, but
it's probably because the default logging level is to DEBUG. Will wait
for the final release to check if the test is to be fixed. All other
tests pass no problem.
2014-08-13 02:07:33 +01:00
Daniele Varrazzo
9acc1ba882 Merge branch 'jsonb' into maint_2_5 2014-08-13 01:59:15 +01:00
Daniele Varrazzo
774c1ff151 Habemus jsonb 2014-08-13 01:58:28 +01:00
Daniele Varrazzo
0f48a5e8b8 Added jsonb docs 2014-08-13 01:52:55 +01:00
Daniele Varrazzo
14b8c411be Add register_default_jsonb() and register the type 2014-08-13 01:52:55 +01:00
Daniele Varrazzo
cd965fe431 Added name param to register_json() 2014-08-13 00:45:10 +01:00
Daniele Varrazzo
ba1409d419 Added wishful test suite for jsonb type 2014-08-13 00:29:58 +01:00
Daniele Varrazzo
f434d87ef1 Fix supported Py/PG versions in docs 2014-08-04 22:39:41 +01:00
Daniele Varrazzo
0b06ebbf40 Parse errocodes for PG 9.3 too
There is no new errcode defined so no need to release this as a change,
only change the docs.
2014-07-31 13:35:52 +01:00
Daniele Varrazzo
f82d9d4db3 Add a few missing errcodes
They are used in the code but not defined in the SGML docs so the script
failed to parse them.
2014-07-31 13:35:52 +01:00
Daniele Varrazzo
b79fcaaa1a Parse the error codes from the text file if available
The text file was added in PG 9.1. It contains a few errors not available
in the SGML.
2014-07-31 13:35:17 +01:00
Daniele Varrazzo
17e9e7d327 Merge branch 'bug-219' into maint_2_5 2014-06-06 21:32:48 +02:00
Daniele Varrazzo
fd0ba0b2d3 Fixed segfault if COPY statements are executed
Close ticket #219
2014-06-06 21:32:08 +02:00
Daniele Varrazzo
5ebf6744ef Don't ignore silently the cursor.callproc argument without a length 2014-06-05 02:46:41 +02:00
Daniele Varrazzo
d066537efe Added test with objects without length as callproc param 2014-06-05 02:37:06 +02:00
Daniele Varrazzo
acde0a66c1 Bump version number to next dev release 2014-05-20 18:27:34 +01:00
Daniele Varrazzo
02baaae975 Merge branch 'license_cleanup' into maint_2_5 2014-05-20 18:24:20 +01:00
Chris Mildebrandt
8b85c60b23 cleanup remaining GPL license text 2014-05-20 18:23:17 +01:00
Chris Mildebrandt
bb8f6068c9 cleanup remaining GPL license text 2014-05-20 18:23:17 +01:00
Daniele Varrazzo
f6229a3d52 Dropped GPL license from source
It doesn't apply: leaving the LGPL only.
2014-05-20 18:23:17 +01:00
Jason Erickson
6933b3bece Skip test_cleanup_on_badconn_close on Windows
The Windows server version of PostgreSQL uses a function called pgkill in the
file kill.c in place of the UNIX kill function.  This pgkill function
simulates some of the SIGHUP like commands by passing signals through a named
pipe.  Because it is passing the signal through a pipe, the server doesn't get
the kill signal immediately and therefore fails the test on
test_connection.ConnectionTests.test_cleanup_on_badconn_close.
Ideally, the test should check to see if the server is running on Windows, not
the psycopg.
2014-05-18 20:58:50 -06:00
Jason Erickson
9bee072085 Added select.select timeout on AsyncTests.wait
On Windows, the select.select() hangs/waits forever on the
test_async_connection_error_message() test.  Adding a 10 second timeout
allows the tests to continue.
2014-05-18 20:58:23 -06:00
Daniele Varrazzo
40c1eea15d Bump up version for release 2.5.3 2014-05-13 16:20:39 +01:00
Daniele Varrazzo
12d114c731 Python 3.4 declared supported 2014-05-13 14:36:41 +01:00
Daniele Varrazzo
3b7f57b6d8 Parse the rowcount as long 2014-05-13 14:18:46 +01:00
Daniele Varrazzo
06f64fbe70 Skip rowcount on copy test on postgres < 8.2
It looks like the server doesn't send the message.
2014-05-13 14:18:40 +01:00
Daniele Varrazzo
e9335b08f8 Copy operations correctly set the cursor.rowcount attribute
Fixes ticket #180.
2014-05-05 23:52:41 +01:00
Daniele Varrazzo
26e7f1d71d set_session() params documented in a more Python-friendly way 2014-05-05 23:06:32 +01:00
Daniele Varrazzo
5a660b80f5 Fixed explicit connection.cursor(cursor_factory=None)
Fixes issue #210.
2014-04-30 17:56:09 +01:00
Daniele Varrazzo
e3ecae75a0 Merge branch 'connection-closed' into maint_2_5
NEWS for released 2.5.3 reordered.
2014-04-05 16:10:32 +01:00
Daniele Varrazzo
75b98b561b Don't specify 0 or 1 in closed docs
There's also 2 which means broken. But I prefer to leave that as
implementation detail.
2014-04-05 15:54:31 +01:00
Daniele Varrazzo
12c2fafa86 Close the connection if discovered bad on poll() 2014-04-05 15:52:41 +01:00
Daniele Varrazzo
e5ab0b3987 Check the connection is really bad on exception before closing it
We end up here without a pgres sometimes (e.g. from lobject errors)
2014-04-05 15:51:39 +01:00
Daniele Varrazzo
f0c38f0b37 Fixed attempt of closing an already closed lobject on dealloc
This results in a "null without exception set" in the corrent state, which
is caused by the connection being unexpectedly closed anyway.
2014-04-05 15:51:33 +01:00
Daniele Varrazzo
221d0d66de Don't set an exception witout GIL closing lobjects with a bad conn
We ended up in this branch only for an excessively aggressive closing
of the transaction that now I'm going to fix.
2014-04-05 15:51:25 +01:00