diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2017-06-16 19:41:52 +0100 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2017-06-16 19:41:52 +0100 |
commit | 2b5e1318316a064bbc598ab95d9b214fbda3c99e (patch) | |
tree | 9025e5bc8622485aaad2aecfbc955c381cc43eb1 /tests | |
parent | 324e56cfa354a737665068ffdecfb1fc17bb8c12 (diff) | |
parent | 70a2d2238e84ea8382bf994f2f79a008dbf5984d (diff) | |
download | psycopg2-2b5e1318316a064bbc598ab95d9b214fbda3c99e.tar.gz |
Merge branch 'fix-558'
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_dates.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test_dates.py b/tests/test_dates.py index 83eea32..0b790d0 100755 --- a/tests/test_dates.py +++ b/tests/test_dates.py @@ -411,6 +411,27 @@ class DatetimeTests(ConnectingTestCase, CommonDatetimeTestsMixin): self.assert_(t.tzinfo is not None) self.assert_(t < datetime(1000, 1, 1, tzinfo=FixedOffsetTimezone())) + def test_redshift_day(self): + # Redshift is reported returning 1 day interval as microsec (bug #558) + cur = self.conn.cursor() + psycopg2.extensions.register_type( + psycopg2.extensions.new_type( + psycopg2.STRING.values, 'WAT', psycopg2.extensions.INTERVAL), + cur) + + from datetime import timedelta + for s, v in [ + ('0', timedelta(0)), + ('1', timedelta(microseconds=1)), + ('-1', timedelta(microseconds=-1)), + ('1000000', timedelta(seconds=1)), + ('86400000000', timedelta(days=1)), + ('-86400000000', timedelta(days=-1)), + ]: + cur.execute("select %s::text", (s,)) + r = cur.fetchone()[0] + self.assertEqual(r, v, "%s -> %s != %s" % (s, r, v)) + # Only run the datetime tests if psycopg was compiled with support. if not hasattr(psycopg2.extensions, 'PYDATETIME'): |