mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-22 17:06:33 +03:00
Merge branch 'connection_exception'
This commit is contained in:
commit
e85ef2298b
4
NEWS
4
NEWS
|
@ -5,6 +5,10 @@ What's new in psycopg 2.9
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
- Dropped support for Python 3.4, 3.5 (:tickets:#1000, #1197).
|
- Dropped support for Python 3.4, 3.5 (:tickets:#1000, #1197).
|
||||||
|
- Reclassified SQLSTATE connection exceptions (08XXX) as
|
||||||
|
`~psycopg2.errors.OperationalError` (subclass of previously used
|
||||||
|
`~psycopg2.errors.DatabaseError`) (:ticket:`#1148`).
|
||||||
|
|
||||||
|
|
||||||
What's new in psycopg 2.8.6
|
What's new in psycopg 2.8.6
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
@ -65,6 +65,8 @@ base_exception_from_sqlstate(const char *sqlstate)
|
||||||
switch (sqlstate[0]) {
|
switch (sqlstate[0]) {
|
||||||
case '0':
|
case '0':
|
||||||
switch (sqlstate[1]) {
|
switch (sqlstate[1]) {
|
||||||
|
case '8': /* Class 08 - Connection Exception */
|
||||||
|
return OperationalError;
|
||||||
case 'A': /* Class 0A - Feature Not Supported */
|
case 'A': /* Class 0A - Feature Not Supported */
|
||||||
return NotSupportedError;
|
return NotSupportedError;
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,13 @@ class ErrorsTests(ConnectingTestCase):
|
||||||
with self.assertRaises(KeyError):
|
with self.assertRaises(KeyError):
|
||||||
errors.lookup('XXXXX')
|
errors.lookup('XXXXX')
|
||||||
|
|
||||||
|
def test_connection_exceptions_backwards_compatibility(self):
|
||||||
|
err = errors.lookup('08000')
|
||||||
|
# connection exceptions are classified as operational errors
|
||||||
|
self.assert_(issubclass(err, errors.OperationalError))
|
||||||
|
# previously these errors were classified only as DatabaseError
|
||||||
|
self.assert_(issubclass(err, errors.DatabaseError))
|
||||||
|
|
||||||
def test_has_base_exceptions(self):
|
def test_has_base_exceptions(self):
|
||||||
excs = []
|
excs = []
|
||||||
for n in dir(psycopg2):
|
for n in dir(psycopg2):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user