summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS7
-rw-r--r--psycopg/typecast_array.c1
-rw-r--r--psycopg/typecast_builtins.c1
-rwxr-xr-xtests/test_dates.py5
4 files changed, 14 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 81d5fe2..6c67cb5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,13 @@
Current release
---------------
+What's new in psycopg 2.7.3
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Restored default :sql:`timestamptz[]` typecasting to Python `!datetime`.
+ Regression introduced in Psycopg 2.7.2 (:ticket:`#578`).
+
+
What's new in psycopg 2.7.2
^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/psycopg/typecast_array.c b/psycopg/typecast_array.c
index adf07ee..10c2b37 100644
--- a/psycopg/typecast_array.c
+++ b/psycopg/typecast_array.c
@@ -288,6 +288,7 @@ typecast_GENERIC_ARRAY_cast(const char *str, Py_ssize_t len, PyObject *curs)
#define typecast_UNICODEARRAY_cast typecast_GENERIC_ARRAY_cast
#define typecast_BOOLEANARRAY_cast typecast_GENERIC_ARRAY_cast
#define typecast_DATETIMEARRAY_cast typecast_GENERIC_ARRAY_cast
+#define typecast_DATETIMETZARRAY_cast typecast_GENERIC_ARRAY_cast
#define typecast_DATEARRAY_cast typecast_GENERIC_ARRAY_cast
#define typecast_TIMEARRAY_cast typecast_GENERIC_ARRAY_cast
#define typecast_INTERVALARRAY_cast typecast_GENERIC_ARRAY_cast
diff --git a/psycopg/typecast_builtins.c b/psycopg/typecast_builtins.c
index 9ffec03..3ed7689 100644
--- a/psycopg/typecast_builtins.c
+++ b/psycopg/typecast_builtins.c
@@ -57,6 +57,7 @@ static typecastObject_initlist typecast_builtins[] = {
{"STRINGARRAY", typecast_STRINGARRAY_types, typecast_STRINGARRAY_cast, "STRING"},
{"BOOLEANARRAY", typecast_BOOLEANARRAY_types, typecast_BOOLEANARRAY_cast, "BOOLEAN"},
{"DATETIMEARRAY", typecast_DATETIMEARRAY_types, typecast_DATETIMEARRAY_cast, "DATETIME"},
+ {"DATETIMETZARRAY", typecast_DATETIMETZARRAY_types, typecast_DATETIMETZARRAY_cast, "DATETIMETZ"},
{"TIMEARRAY", typecast_TIMEARRAY_types, typecast_TIMEARRAY_cast, "TIME"},
{"DATEARRAY", typecast_DATEARRAY_types, typecast_DATEARRAY_cast, "DATE"},
{"INTERVALARRAY", typecast_INTERVALARRAY_types, typecast_INTERVALARRAY_cast, "INTERVAL"},
diff --git a/tests/test_dates.py b/tests/test_dates.py
index 0b790d0..9ce74d8 100755
--- a/tests/test_dates.py
+++ b/tests/test_dates.py
@@ -317,6 +317,11 @@ class DatetimeTests(ConnectingTestCase, CommonDatetimeTestsMixin):
from datetime import datetime
self._test_type_roundtrip_array(datetime(2010, 5, 3, 10, 20, 30))
+ def test_type_roundtrip_datetimetz_array(self):
+ from datetime import datetime
+ self._test_type_roundtrip_array(
+ datetime(2010, 5, 3, 10, 20, 30, tzinfo=FixedOffsetTimezone(0)))
+
def test_type_roundtrip_time_array(self):
from datetime import time
self._test_type_roundtrip_array(time(10, 20, 30))