diff --git a/NEWS b/NEWS index 20acb25f..c73d9963 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,7 @@ What's new in psycopg 2.6.2 - Added support for setuptools/wheel (:ticket:`#370`). - Fix build on Windows with Python 3.5, VS 2015 (:ticket:`#380`). - Fixed `!errorcodes.lookup` initialization thread-safety (:ticket:`#382`). +- Fixed `!read()` exception propagation in copy_from (:ticket:`#412`). What's new in psycopg 2.6.1 diff --git a/doc/src/install.rst b/doc/src/install.rst index ec1eeea8..0c9bbdc0 100644 --- a/doc/src/install.rst +++ b/doc/src/install.rst @@ -18,7 +18,7 @@ The current `!psycopg2` implementation supports: NOTE: keep consistent with setup.py and the /features/ page. - Python 2 versions from 2.5 to 2.7 -- Python 3 versions from 3.1 to 3.4 +- Python 3 versions from 3.1 to 3.5 - PostgreSQL versions from 7.4 to 9.4 .. _PostgreSQL: http://www.postgresql.org/ diff --git a/psycopg/pqpath.c b/psycopg/pqpath.c index b643512d..99dd40be 100644 --- a/psycopg/pqpath.c +++ b/psycopg/pqpath.c @@ -1393,7 +1393,11 @@ _pq_copy_in_v3(cursorObject *curs) Py_DECREF(str); } } - PyErr_Restore(t, ex, tb); + /* Clear the Py exception: it will be re-raised from the libpq */ + Py_XDECREF(t); + Py_XDECREF(ex); + Py_XDECREF(tb); + PyErr_Clear(); } res = PQputCopyEnd(curs->conn->pgconn, buf); } diff --git a/setup.py b/setup.py index 8c7437d6..cf86876d 100644 --- a/setup.py +++ b/setup.py @@ -41,6 +41,7 @@ Programming Language :: Python :: 3.1 Programming Language :: Python :: 3.2 Programming Language :: Python :: 3.3 Programming Language :: Python :: 3.4 +Programming Language :: Python :: 3.5 Programming Language :: C Programming Language :: SQL Topic :: Database