Commit Graph

194 Commits

Author SHA1 Message Date
Daniele Varrazzo
362c2ae597 Release the GIL around PQgetResult calls after COPY
It should fix ticket #140.
2012-11-24 22:49:36 +00:00
Daniele Varrazzo
1feb179fba Fixed pickling of FixedOffsetTimezone objects
I have also verified that the fixed class can unpickle instance pickled with
the buggy one and viceversa.

Fixes ticket #135.
2012-10-21 21:47:32 +01:00
Daniele Varrazzo
71393b9ae9 Discard any result produced by cursor.executemany() 2012-10-11 22:29:03 +01:00
Daniele Varrazzo
b61a2a34c4 Close the connection on error in callback
Unfortunately PQcancel blocks, so it's not better than PQgetResult.
It has been suggested to use PQreset in non-blocking way but this would give
the Python program the burden of handling a connection done but not configured
in an unexpected place.
2012-10-06 11:58:52 +01:00
Daniele Varrazzo
4244d5953a Merge branch 'range-type' into devel 2012-09-27 00:48:05 +01:00
Daniele Varrazzo
dda24f082f Merge branch 'json' into devel 2012-09-27 00:41:04 +01:00
Daniele Varrazzo
465b5cf280 Mention JSON adaptation in the NEWS file 2012-09-27 00:40:35 +01:00
Daniele Varrazzo
33043cd038 Merge branch 'composite-custom' into devel 2012-09-27 00:38:00 +01:00
Daniele Varrazzo
cd316a94f1 Dropped quirks in connection arguments handling
Now connect() raises an exception instead of swallowing keyword arguments
when a connection string is specified as well

Closes ticket #131.
2012-09-25 23:46:46 +01:00
Daniele Varrazzo
c756d580f2 Added documentation for range types and adaptation 2012-09-24 00:49:44 +01:00
Daniele Varrazzo
fa9393b587 Added documentation about CompositeCaster subclassing 2012-09-22 02:01:04 +01:00
Daniele Varrazzo
7de8611607 errorcodes map updated to PostgreSQL 9.2 2012-09-21 01:59:02 +01:00
Daniele Varrazzo
99b7683338 Added documentation for scrollable cursors 2012-08-15 11:26:45 +01:00
Daniele Varrazzo
91c2ff9296 Fixed tpc_recover() with RealDictStuff
Same problem and correction of ticket #114.
2012-08-14 23:29:19 +01:00
Daniele Varrazzo
21d323d2c8 Fixed register_hstore and register_composite with non-dbapi objects
Closed ticket #114.
2012-08-14 23:26:17 +01:00
Daniele Varrazzo
f9a13eb563 connection.reset() implemented using DISCARD ALL 2012-06-25 16:37:11 +01:00
Daniele Varrazzo
7982a6ac0b Dropped GIL release around function calling PyMem_Malloc
Closes ticket #110.
2012-05-22 17:22:57 +01:00
Daniele Varrazzo
73df259f7b Added news entry about cursor() cleanup 2012-04-11 18:11:04 +01:00
Daniele Varrazzo
b8c75d9de0 Merge branch 'gcc-python-plugin' into devel 2012-03-05 02:48:11 +00:00
Daniele Varrazzo
2c309dfdb4 Mention the static analysis cleanup in the news 2012-03-05 02:38:21 +00:00
Daniele Varrazzo
84f2a370f6 close() methods don't raise errors if called on closed objects 2012-03-04 05:10:07 +00:00
Daniele Varrazzo
5fcbe7bd0f Check/set connection status at commit inside the critical section
Failing to do so was causing the issue reported in ticket #103. The issue
as reported was fixed when SET ISOLATION LEVEL was dropped, but the real
problem wasn't fixed.
2012-02-24 03:28:20 +00:00
Daniele Varrazzo
0c337a2029 Added support for inet array 2012-02-23 23:56:55 +00:00
Daniele Varrazzo
1d7e6afcf0 Ticket #100 closed
Note that rownumber is still broken for named cursors: it is reset to zero
when each itersize block is fetched.
2012-02-23 23:04:54 +00:00
Daniele Varrazzo
91388d2c51 Cite Menno's TZ improvements into news file 2012-01-30 13:32:58 +00:00
Daniele Varrazzo
43daba38e7 Make Error and subclasses picklable
Useful for multiprocessing interaction.
Closes ticket #90.
2012-01-14 17:34:09 +00:00
Daniele Varrazzo
6f21111a92 Docs/cleanup for the lo_creat patch 2012-01-10 21:51:34 +00:00
Daniele Varrazzo
dcc60131a9 fetchmany accepts None as size, meaning the default arraysize
without this care, extending fetchmany in subclasses becomes tricky.

Closes ticket #84.
2012-01-10 01:32:45 +00:00
Federico Di Gregorio
56482d3300 Merge remote-tracking branch 'piro/devel' into devel
Conflicts:
	NEWS
2011-12-19 10:55:55 +01:00
Federico Di Gregorio
71a4c2bac9 Fixed rollback on error on Zope (ticket #73) 2011-12-16 10:37:01 +01:00
Daniele Varrazzo
5f098de7e8 A bunch of changes registered in the NEWS file 2011-12-15 20:17:36 +00:00
Daniele Varrazzo
8473209d24 Named DictCursor/RealDictCursor honour itersize
Closes ticket #80.
2011-12-11 22:06:15 +00:00
Daniele Varrazzo
ad3a198919 Fixed reference leak with arguments referenced more than once in queries
Plus, some more care in objects life cycle, mostly in exceptions handling.

Closes ticket #81.
2011-12-11 02:52:06 +00:00
Daniele Varrazzo
a6aea38540 Added keywords on connect to news file 2011-11-17 21:51:24 +00:00
Daniele Varrazzo
dde4c0de3d Decimal adapter registration moved from C to Python
Fixes Decimal adaptation in sub-interpreter, where the Decimal class has
a different identity from the one in the main interpreter.

Closes ticket #52.
2011-10-14 22:35:56 +01:00
Daniele Varrazzo
8963b8adcb Added support for arrays of composite types 2011-09-22 19:57:42 +02:00
Daniele Varrazzo
2f9ceeac64 Added support for arrays of hstores 2011-09-22 19:56:58 +02:00
Daniele Varrazzo
c4e6d7d982 Fixed typecasting of arrays containing consecutive backslashes 2011-09-22 18:14:16 +01:00
Daniele Varrazzo
e3054ac9f3 Added new_array_type() function
Allows the creation of a generic array typecaster from Python.
2011-09-22 15:51:21 +01:00
Daniele Varrazzo
8fb08efae7 Allocate dynamically memory for the list of columns in COPY
Some bloke finds the limit of 8K too restrictive... ticket #68.
2011-09-12 02:21:59 +01:00
Daniele Varrazzo
d67d50b434 Fixed interaction between RealDictCursor and named cursors
Closes ticket #67.
2011-09-12 02:20:53 +01:00
Daniele Varrazzo
29932c488f errorcodes map updated to PostgreSQL 9.1 2011-08-22 17:29:14 +01:00
Daniele Varrazzo
1861e0010d Fixed --static-libpq setup option (ticket #64) 2011-08-09 11:44:30 +01:00
Daniele Varrazzo
9870ca4dce Fixed NamedTupleCursor.executemany() (ticket #65) 2011-08-09 11:44:30 +01:00
Daniele Varrazzo
a2ee25ecfe Check the connection status before putting back into the pool
Rollback connections in transaction or in error.
Discard broken connections.
Closes ticket #62.
2011-08-09 11:44:30 +01:00
Daniele Varrazzo
de6f2ac387 Grab the GIL when checking for errors occurred
The problem was causing a segfault on BEGIN if the server is disconnected
after the connection is created.
2011-08-09 11:44:30 +01:00
Daniele Varrazzo
d9fce1f837 Mention the lazy uuid import in the news file 2011-08-09 11:44:30 +01:00
Daniele Varrazzo
d2b28abced Method set_transaction() renamed to set_session()
In fact it doesn't change "the transaction", as there has to be no
transaction when invoked. The effect instead is to execute SET SESSION
CHARACTERISTICS.
2011-06-08 14:22:11 +01:00
Daniele Varrazzo
7b017e7944 Mention Steve and his work in the NEWS file
That's Steve's Job! :D
2011-06-07 23:58:37 +01:00
Daniele Varrazzo
1888bf41c0 Added patch for refcount bug in copy_from
By Dave Malcolm. https://bugzilla.redhat.com/show_bug.cgi?id=711095
(slightly edited to increment the refcount before storing the pointer
in the cursor).
2011-06-07 00:08:29 +01:00
Daniele Varrazzo
8f876d4b5d Avoid a deadlock using concurrent green threads on the same connection
Use the async_cursor property to store an indication that something is
running (even if it is not necessarily a cursor running the query).
2011-06-05 16:22:54 +01:00
Daniele Varrazzo
c8ec747903 Don't fail import if mx.DateTime module is not found at import time
A better fix for ticket #53.
2011-06-04 14:16:24 +01:00
Daniele Varrazzo
d9c0b8166f Process notifies when data is received, not when the result is parsed
Notifies process access the connection, is not limited to the result, so
There is the possibility of loss of protocol sync in multithread programs.

Closes ticket #55.
2011-06-04 01:31:36 +01:00
Daniele Varrazzo
0eb5e0430e Merge branch 'transaction-control' into devel 2011-06-03 01:48:24 +01:00
Daniele Varrazzo
530ba78881 Documentation for set_transaction() and autocommit improved 2011-06-03 01:46:56 +01:00
Daniele Varrazzo
531292bca5 Merge branch 'neg-escape' into devel 2011-05-30 22:09:23 +01:00
Daniele Varrazzo
281427f450 Fixed escape for negative numbers prefixed by minus operator
Closes ticket #57.
2011-05-30 22:00:20 +01:00
Daniele Varrazzo
19ec8809fd Use all the isolation levels accepted by PostgreSQL
In PG 9.1 repeatable read and serializable are distinct levels.
2011-05-11 13:01:20 +01:00
Daniele Varrazzo
af424821b7 Don't build mx.DateTime support if the module can't be imported
Previously we only checked for the existence of the include files, but this
doesn't imply the presence of the module. Particularly true in restricted
environments such as virtualenv.

Closes ticket #53.
2011-05-11 12:59:31 +01:00
Daniele Varrazzo
c61ec094a3 Don't fetch all the records iterating a NamedTuple cursor on a named cursor 2011-04-26 19:26:19 +01:00
Daniele Varrazzo
c08799b0b0 Fixed SystemError clobbering libpq errors raised without SQLSTATE
Bug vivisectioned by Eric Snow
<http://archives.postgresql.org/psycopg/2011-04/msg00019.php>.
2011-04-24 02:59:28 +01:00
Daniele Varrazzo
746afdf69f Added missing vertical spaces in NEWS 2011-04-15 01:11:22 +01:00
Daniele Varrazzo
e3605b33c1 Updated NEWS with the connection encoding fix 2011-04-08 14:36:49 +01:00
Daniele Varrazzo
7716cc6a0c Allow to specify --static-libpq on setup.py command line
Patch provided by Matthew Ryan (ticket #48).
2011-03-26 13:48:37 +00:00
Daniele Varrazzo
da58bee70a Added documentation for the bytea parser 2011-03-26 12:59:15 +00:00
Daniele Varrazzo
fcbe0466a6 Correctly detect an empty query sent to the backend
Closes ticket #46.
2011-03-04 20:30:43 +00:00
Federico Di Gregorio
2212ea96a6 Preparing release 2.4
* NEWS file now uses 72 columns (better in emails and posts)
* Bumped versions
* Updated MonoDevelop file
2011-02-27 12:52:00 +01:00
Daniele Varrazzo
5211e1474b Don't limit the hstore search to the public schema only
Looks like there is a case for installing hstore somewhere else (see
ticket #45). And after all the typecaster can be registered on a list of
OIDs, so let's grab them all.
2011-02-25 00:19:49 +00:00
Daniele Varrazzo
f9862211b1 NEWS for release 2.4 ordered in groups 2011-02-23 14:23:34 +00:00
Daniele Varrazzo
894d3f653c Raise an exception if the libpq fails to decode bytea in hex format 2011-02-23 14:04:27 +00:00
Daniele Varrazzo
1db9c9b8ce The cursor name can be a non-valid PostgreSQL identifier 2011-02-23 01:53:25 +00:00
Daniele Varrazzo
7996333ee7 Added regression test to check {} is also a valid string 2011-02-20 12:28:50 +00:00
Daniele Varrazzo
c620f18be1 Provide cursor.description as named tuple if possible
If namedtuple() is not available, use regular tuples.
2011-02-19 00:05:43 +00:00
Daniele Varrazzo
e2cbc3411d Duplicate item in NEWS dropped, quotes cleanup 2011-02-19 00:00:34 +00:00
Daniele Varrazzo
63ac6cdde5 Added cursor.itersize
The value is used to control the number of records to fetch per network
roundtrip in named cursors iteration. Used to avoid the inefficient
arraysize default of 1 without giving this value the magic meaning of
2000.
2011-02-17 12:36:02 +00:00
Daniele Varrazzo
3b10ef8998 Documentation about new support for binary objects improved 2011-02-16 02:54:30 +00:00
Daniele Varrazzo
3ae2f221b3 Adapt bytearray and memoryview to bytes if available 2011-02-15 17:30:43 +00:00
Daniele Varrazzo
c1fe0b675a Dropped correct roundtrip of empty array
The feature in itself is not extremely useful and instead PostgreSQL is
not always able to cast away from text[], which is a regression see
(ticket #42).
2011-02-15 10:27:47 +00:00
Daniele Varrazzo
4c336a51bc Added test to check issue #40 2011-02-12 20:19:02 +00:00
Federico Di Gregorio
352d0d1f07 Preparing 2.4 beta 1
* Unified NEWS (we don 't support 2.0 anymore)
* Bumped up version in setup.py and ZPsycopgDA/DA.py
2011-02-06 16:54:35 +01:00
Federico Di Gregorio
e286970b62 Preparing release 2.2.0 2010-05-16 12:55:59 +02:00
Federico Di Gregorio
0edd520593 Preparing release 2.0.14 (final) 2010-03-13 21:15:50 +01:00
Federico Di Gregorio
6733c64412 Varrazzo has two "r"! 2010-02-22 09:09:44 +01:00
Federico Di Gregorio
fd6d3185b4 Preparing release 2.0.14 2010-02-21 01:26:43 +01:00
Daniele Varrazzo
08e14e1049 Restored meaning of the word "respectively". 2010-02-14 00:35:48 +01:00
Federico Di Gregorio
611606d532 Changes license to LGPL3 + OpenSSL exception on all source files 2010-02-12 23:34:53 +01:00
Federico Di Gregorio
69224032ce Fixed missing entry in NEWS file 2009-10-04 12:55:28 +02:00
Federico Di Gregorio
9bd771cda0 Preparing release 2.0.13 2009-10-04 12:53:42 +02:00
Federico Di Gregorio
0fc94be496 Preparing release 2.0.12 2009-08-09 17:22:18 +02:00
Federico Di Gregorio
091102a919 Preparing release 2.0.11 2009-05-09 14:52:16 +02:00
Federico Di Gregorio
d621c02e58 Preparing release 2.0.10 2009-04-20 20:34:06 +02:00
Federico Di Gregorio
a574321fcd NEWS for 2.0.10 2009-03-02 11:07:36 +01:00
Federico Di Gregorio
a6dff6c82a Preparing release 2.0.9 2009-02-22 23:37:34 +01:00
Federico Di Gregorio
5c982d90f0 Unified string quoting 2008-11-25 19:18:17 +01:00
Federico Di Gregorio
758eaf23d1 Preparing release 2.0.8 2008-09-16 09:58:44 +02:00
James Henstridge
bc662db1cc Fill in a few more items in the NEWS file for 2.0.8. 2008-08-26 14:47:47 +08:00
Federico Di Gregorio
e95a4d9d2e get_backend_pid() patch and fixes 2008-07-26 15:09:20 +02:00
Federico Di Gregorio
8103f44a12 Fixed test segfault due to double decref. 2008-03-17 08:13:16 +00:00
James Henstridge
14135c1d7e * NEWS: add some draft NEWS items for a 2.0.7 release. 2008-02-27 04:42:56 +00:00
Federico Di Gregorio
a23de80c6b Patchset copy_expert 1/5. 2007-05-29 08:13:40 +00:00