summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use an import style reported not broken on Python 3.6bug-550Daniele Varrazzo2017-06-153-4/+4
| | | | Couldn't reproduce the issue but it has been documented in #550.
* Added test to verify bug 550 on Python 3.6Daniele Varrazzo2017-06-141-0/+9
| | | | | Can't reproduce it with python 2.7 and 3.5, pushing on the CI to test with other versions.
* typo山楂片2017-06-121-1/+1
| | | s/fromat/format/g
* Link the appveyor badge in the readme to the master branch buildsDaniele Varrazzo2017-06-081-1/+1
| | | | [skip-ci]
* Run tests against PostgreSQL 10 beta1test-postgres-10beta1Daniele Varrazzo2017-06-082-7/+7
| | | | | | Use the new Postgres verisoning schema: 10 is a major version, 10.0 a patch release. See https://wiki.postgresql.org/wiki/New_in_postgres_10#Change_in_Version_Numbering
* Merge branch 'errcodes-update'Daniele Varrazzo2017-06-054-6/+20
|\
| * Updated docs about versions supported in errcodesDaniele Varrazzo2017-06-052-1/+2
| |
| * Error codes updated to PG 10 beta 1Daniele Varrazzo2017-06-052-5/+12
| |
| * errcodes updated to PG 9.6Daniele Varrazzo2017-06-052-1/+7
|/
* Added doc link to replication commandsDaniele Varrazzo2017-05-101-2/+5
|
* Merge branch 'fix-547'Daniele Varrazzo2017-04-193-1/+26
|\
| * Fixed args parsing in ReplicationCursor.consume_stream()Daniele Varrazzo2017-04-193-1/+26
| | | | | | | | Close #547.
* | Added news entries for the previous 2 merge requestsDaniele Varrazzo2017-04-191-0/+4
| |
* | Merge remote-tracking branch 'fix_lobject_factory'Daniele Varrazzo2017-04-192-1/+8
|\ \
| * | Python < 3.2 doesn’t have assertIsInstanceFrazer McLean2017-04-161-1/+1
| | |
| * | Fix name of lobject keyword argumentFrazer McLean2017-04-162-1/+8
| |/
* | Merge remote-tracking branch 'fix_lobject_mode'Daniele Varrazzo2017-04-192-1/+11
|\ \ | |/ |/|
| * Handle lobject mode=None correctlyFrazer McLean2017-04-162-1/+11
|/
* Merge branch 'fix-410'Daniele Varrazzo2017-04-053-0/+90
|\
| * Added test to verify callback errors in named cursorsDaniele Varrazzo2017-04-051-0/+17
| | | | | | | | They work fine.
| * Don't clobber a Python exception with an unknown errorDaniele Varrazzo2017-04-052-0/+5
| | | | | | | | Close #410
| * Added test to verify #410Daniele Varrazzo2017-04-051-0/+68
|/ | | | The 'unknown error' happens on query.
* Note that the fast executemany functions don't respect rowcountDaniele Varrazzo2017-03-281-0/+6
| | | | See issue #540
* Merge remote-tracking branch 'origin/fix-536'Daniele Varrazzo2017-03-229-72/+172
|\
| * Expose *DATETIMETZ* objects in the extensions moduleDaniele Varrazzo2017-03-222-4/+10
| |
| * Find again mxDateTime includes in default locationsDaniele Varrazzo2017-03-221-1/+2
| |
| * Return objects with timezone parsing infinity timestamptzDaniele Varrazzo2017-03-226-67/+160
| | | | | | | | Close #536.
* | Fix curl not found on AppVeyorDaniele Varrazzo2017-03-221-1/+1
|/ | | | http://help.appveyor.com/discussions/problems/6312-curl-command-not-found
* Dropped info that the features requires libpq >= 9.0Daniele Varrazzo2017-03-201-2/+0
| | | | | | We are currently requiring libpq 9.1 at least, and the feature was released in 2.7, which could have never been compiled with previos libpq versions.
* Dropped repeated doc links in the same paragraphDaniele Varrazzo2017-03-161-6/+6
| | | | And some more sql docs cleanup.
* Merge branch 'fix-528'Daniele Varrazzo2017-03-167-40/+145
|\
| * replication connection init refactored to use psyco_make_dsnDaniele Varrazzo2017-03-161-34/+22
| | | | | | | | | | | | Some extra bonus refactoring to improve the function readability (don't reuse names for variables with different refcount rules, don't pass separate obj/self, async pass-through...)
| * Obscure the password on url dsn tooDaniele Varrazzo2017-03-166-15/+81
| | | | | | | | | | | | Note that we don't leak anymore the password length. Fix #528
| * Password scrubbing refactored in a separate functionfix-528Daniele Varrazzo2017-03-151-7/+18
| |
| * Added tests to verify the password is obscuredDaniele Varrazzo2017-03-151-0/+40
| | | | | | | | The url test fails: see issue #528
* | Added docs about the usability of sql objects with copy_expert()sql-copyDaniele Varrazzo2017-03-163-6/+15
| | | | | | | | See issue #529.
* | Added test to verify sql objects work with copy_expert()Daniele Varrazzo2017-03-162-2/+26
|/ | | | | | I'll be honest: I lucked out, I didn't think about this combination. But maybe sheer luck, maybe using common code paths, it just works. Let's make it stays so.
* Merge branch 'fix-443'Daniele Varrazzo2017-03-144-27/+89
|\
| * Reported bug #443 fixed *again*fix-443Daniele Varrazzo2017-03-141-1/+10
| | | | | | | | Also see ticket #527.
| * Bunch of test tweaks to make the test grid greenDaniele Varrazzo2017-03-142-12/+14
| |
| * Connection state fixed noted in the newsDaniele Varrazzo2017-03-141-0/+2
| |
| * Always raise OperationalError when connection was closed externally.Greg Ward2017-03-142-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the DB-API (https://www.python.org/dev/peps/pep-0249/): OperationalError Exception raised for errors that are related to the database's operation and not necessarily under the control of the programmer, e.g. an unexpected disconnect occurs, [...] Additionally, psycopg2 was inconsistent, at least in the async case: depending on how the "connection closed" error was reported from the kernel to libpq, it would sometimes raise OperationalError and sometimes DatabaseError. Now it always raises OperationalError.
| * Always detect when a connection is closed behind psycopg2's back.Greg Ward2017-03-142-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a race condition that only seems to happen over Unix-domain sockets. Sometimes, the closed socket is reported by the kernel to libpq like this (captured with strace): sendto(3, "Q\0\0\0\34select pg_backend_pid()\0", 29, MSG_NOSIGNAL, NULL, 0) = 29 recvfrom(3, "E\0\0\0mSFATAL\0C57P01\0Mterminating "..., 16384, 0, NULL, NULL) = 110 recvfrom(3, 0x12d0330, 16384, 0, 0, 0) = -1 ECONNRESET (Connection reset by peer) That is, psycopg2/libpq sees no error when sending the first query after the connection is closed, but gets an error reading the result. In that case, everything worked fine. But sometimes, the error manifests like this: sendto(3, "Q\0\0\0\34select pg_backend_pid()\0", 29, MSG_NOSIGNAL, NULL, 0) = -1 EPIPE (Broken pipe) recvfrom(3, "E\0\0\0mSFATAL\0C57P01\0Mterminating "..., 16384, 0, NULL, NULL) = 110 recvfrom(3, "", 16274, 0, NULL, NULL) = 0 recvfrom(3, "", 16274, 0, NULL, NULL) = 0 i.e. libpq received an error when sending the query. This manifests as a slightly different exception from a slightly different place. More importantly, in this case connection.closed is left at 0 rather than being set to 2, and that is the bug I'm fixing here. Note that we see almost identical behaviour for sync and async connections, and the fixes are the same. So I added extremely similar test cases. Finally, there is still a bug here: for async connections, we sometimes raise DatabaseError (incorrect) and sometimes raise OperationalError (correct). Will fix that next.
| * Flake8 complaintsDaniele Varrazzo2017-03-141-12/+8
|/
* Improved notes to release psycopg packagesDaniele Varrazzo2017-03-131-15/+45
|
* Less stuff in the readme, more in the docsDaniele Varrazzo2017-03-132-13/+18
|
* Bump to next dev releaseDaniele Varrazzo2017-03-131-1/+1
|
* Bump to version 2.7.12_7_1Daniele Varrazzo2017-03-111-1/+1
|
* Report ticket 518 fixedDaniele Varrazzo2017-03-112-8/+13
| | | | | The fix is actually implemented in the openssl1 branch of https://github.com/psycopg/psycopg2-wheels
* correct minor grammatical issue with deprecation warningJon Nelson2017-03-031-1/+1
|