mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-15 05:26:37 +03:00
Raise NotSupportedError fetching iso_8601 intervals
Previously it would have failed parsing and resulted in ValueError Close #707
This commit is contained in:
parent
42efb739d8
commit
51027dbd5f
|
@ -406,6 +406,11 @@ typecast_PYINTERVAL_cast(const char *str, Py_ssize_t len, PyObject *curs)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'P':
|
||||||
|
PyErr_SetString(NotSupportedError,
|
||||||
|
"iso_8601 intervalstyle currently not supported");
|
||||||
|
return NULL;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -437,6 +437,13 @@ class DatetimeTests(ConnectingTestCase, CommonDatetimeTestsMixin):
|
||||||
r = cur.fetchone()[0]
|
r = cur.fetchone()[0]
|
||||||
self.assertEqual(r, v, "%s -> %s != %s" % (s, r, v))
|
self.assertEqual(r, v, "%s -> %s != %s" % (s, r, v))
|
||||||
|
|
||||||
|
def test_interval_iso_8601_not_supported(self):
|
||||||
|
# We may end up supporting, but no pressure for it
|
||||||
|
cur = self.conn.cursor()
|
||||||
|
cur.execute("set local intervalstyle to iso_8601")
|
||||||
|
cur.execute("select '1 day 2 hours'::interval")
|
||||||
|
self.assertRaises(psycopg2.NotSupportedError, cur.fetchone)
|
||||||
|
|
||||||
|
|
||||||
# Only run the datetime tests if psycopg was compiled with support.
|
# Only run the datetime tests if psycopg was compiled with support.
|
||||||
if not hasattr(psycopg2.extensions, 'PYDATETIME'):
|
if not hasattr(psycopg2.extensions, 'PYDATETIME'):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user