Commit Graph

1608 Commits

Author SHA1 Message Date
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
Daniele Varrazzo
d1e1243ba8 Close a connection if PQexec returned NULL
This happens for Socket connections, not for TCP ones, where a result
containing an error is returned and correctly handled by pq_raise()

Closes ticket #196 but not #192: poll() still doesn't change the
connection closed.
2014-03-06 18:17:32 +00:00
Daniele Varrazzo
f597c36f42 Allow get_transaction_status on closed connections
It's a local operation and the libpq functions has a NULL guard.
2014-03-06 18:02:08 +00:00
Daniele Varrazzo
d6da4ed09f Don't segfault on uninitialized cursor
It can happen with bad cursor subclasses not calling super's init. Raise
an exception instead of segfaulting.

Closes #195
2014-02-26 19:42:29 +00:00
Daniele Varrazzo
69b2fa282c Use the do-while 0 idiom for cursor guards macro 2014-02-26 19:42:28 +00:00
Daniele Varrazzo
a13c72cf32 Merge branch 'ticket-194' into maint_2_5 2014-02-24 15:19:02 +00:00
Daniele Varrazzo
e840e00278 Bug #194 confirmed fixed: newsfile updated. 2014-02-24 15:15:54 +00:00
Daniele Varrazzo
98ea06d8b4 Set the connection async before polling for connection
It should fix ticket #194
2014-02-24 12:12:16 +00:00
Daniele Varrazzo
a8ef13620a Set the connection async earlier in green mode
The moment it is called shouldn't have really changed, but it's more
explicit when it happens. Previously it was sort of obfuscated behind a
roundtrip through the green callback and poll.
2014-02-24 11:59:07 +00:00
Daniele Varrazzo
211e949741 Merge branch 'range_sort' into maint_2_5 2014-02-22 23:08:39 +00:00
Daniele Varrazzo
0e86fc164f Mention Range order in the news file 2014-02-22 23:06:03 +00:00
Daniele Varrazzo
d43e23ddc6 Docs wordsmithing about Range order 2014-02-22 23:06:03 +00:00
Daniele Varrazzo
6c27cdd20e Hardcode the list of attributes to be used in comparison
Comparing Range subclasses may lead to surprises.
2014-02-22 23:06:02 +00:00
Daniele Varrazzo
c10c1186a5 Added implementation for Range gt and ge operators
Using a common implementation for all the operators. Note that lt is the
one used by sort so it's nice it's the fastest.
2014-02-22 23:06:02 +00:00
Chris Withers
5624ad4ec5 documentation changes now that Range objects can be ordered 2014-02-22 23:06:02 +00:00
Chris Withers
1487800b6d New implementation of Range sorting that works for Python 2.5 to 3.3, at least. 2014-02-22 23:06:02 +00:00
Chris Withers
ca1845477d Coding style changes. 2014-02-22 23:06:02 +00:00
Chris Withers
f739576f0a Provide a stable and consistent sort order for Range objects.
This matches postgres server-side behaviour and helps client applications that need to sort based on the primary key of tables where the primary key is or contains a range.
2014-02-22 23:06:02 +00:00
Daniele Varrazzo
434fbb02b1 Fixed error message on range parsing failed 2014-02-19 01:03:01 +00:00
Daniele Varrazzo
9ac01d060d Fixed debug build on Windows
Patches on master by James Emerton, from github pull request #8.
2014-01-14 21:56:36 +00:00
Daniele Varrazzo
9e8923b884 Added doc notes about how to avoid JSON parsing
Added FAQ too as it has bitten more than one user
(see tickets #172, #190).
2014-01-14 18:30:41 +00:00
Daniele Varrazzo
3f6497d587 Bump to next dev release 2014-01-14 18:27:46 +00:00
Daniele Varrazzo
4f1e4a03d1 Bump version for release 2.5.2 2014-01-07 12:00:28 +00:00
Daniele Varrazzo
8aaa4eabca Fixed dealloc of lobject->smode
I put it by mistake into the in the self->conn checked block in the
previous commit.
2013-11-27 12:59:14 +00:00
Daniele Varrazzo
7e9e11ee27 Check connection type in lobject init
Fixes ticket #187.
2013-11-27 12:42:57 +00:00
Daniele Varrazzo
0442fd924f Typo fixes and improvements to new_array_type() docs 2013-10-21 15:26:57 +01:00
Daniele Varrazzo
58c53025d1 Use bytestrings in infinite dates adapter example
Returning strings would result in unclear tracebacks on Py3 (see ticket #163).
2013-10-21 14:35:30 +01:00
Daniele Varrazzo
8d8cc38590 Really test named cursors in test_scroll_named() 2013-10-16 19:09:51 +01:00
Daniele Varrazzo
429ebfc764 Document that named cursors don't raise an exception going out-of-bound
See issue #174 for the details.
2013-10-16 19:08:45 +01:00
Daniele Varrazzo
865b36e005 Document that using %, (, ) in the placeholder name is not supported 2013-10-16 15:36:43 +01:00
Daniele Varrazzo
09cf64dda4 Meaningful connection errors report a meaningful message
Fixes issue #173.
2013-10-16 15:28:16 +01:00
Daniele Varrazzo
0e08fbb20b Fixed pickling of exceptions with no pgerror/pgcode set
Fixes ticket #170.
2013-07-19 16:05:48 +01:00
Daniele Varrazzo
96248d0f09 Fixed titles in newsfile
The first title at the same level of the main releases helps getting a
more regular ToC in the docs main page.
2013-07-19 15:54:35 +01:00
Daniele Varrazzo
bf843fc5f0 Bump to next dev release number 2013-07-19 15:21:16 +01:00
Daniele Varrazzo
68d5d070fe Bump up version for release 2.5.1 2013-06-23 02:01:35 +01:00
Daniele Varrazzo
9b2f4c7d77 Fixed manifest to avoid spurious messages during install
It was a while we were getting::

  no previously-included directories found matching 'doc/src/_build'

at install time. Also avoid a couple of Sphinx build files from sdist
package.
2013-06-23 02:01:35 +01:00
Daniele Varrazzo
468951de25 Fixed doc index entry for infinite dates 2013-06-23 01:24:56 +01:00
Daniele Varrazzo
889b1d826e Untrack the connection before closing to avoid possible double-free
From Gangadharan S.A. Fixes issue #166.
2013-06-20 16:35:01 +01:00
Daniele Varrazzo
9f4b5b37a3 Added doc example to convert date.max to infinity
See issue #163.
2013-06-18 15:01:04 +01:00
Daniele Varrazzo
eb36e75b89 Fixed comparison of Range with non-range objects
Fixes ticket #164.

Patch from Chris Withers on master.
2013-06-18 14:16:06 +01:00
Daniele Varrazzo
8fd228dd28 Added regression test for infinity parsing in dates
...and a couple of typos.
2013-05-11 02:24:25 +01:00
Daniele Varrazzo
1e94018473 Added test to verify copysize handling in copy_expert
Not an original psycopg2 bug but present in pure python implementation,
e.g. ctypes issue #25 and cffi issue #5.

https://github.com/mvantellingen/psycopg2-ctypes/issues/25
https://github.com/chtd/psycopg2cffi/pull/5
2013-05-11 02:24:24 +01:00
Daniele Varrazzo
cc4cabebf0 Skip tests on python implementations without getrefcount()
PyPy is one of these.
2013-05-11 02:24:22 +01:00
Daniele Varrazzo
3a13599a99 A few docs fixes to the usage page 2013-05-01 22:40:39 +01:00
Daniele Varrazzo
c862554fdc Dropped a lot of words from the front matter
Replaced with links to the types adaptation table and the extension docs.
2013-04-26 10:33:06 +01:00
Piotr Kasprzyk
5f320e52f4 Fix multiple misspellings 2013-04-26 10:32:21 +01:00
Daniele Varrazzo
0fc1e3a8c7 Merge branch 'classifiers' into maint_2_5 2013-04-21 21:46:46 +01:00