diff options
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/requirements.py | 7 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/suite/test_types.py | 11 |
3 files changed, 17 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index 0288fe898..79fd118af 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -623,7 +623,7 @@ class OracleDialect_cx_oracle(OracleDialect): self._include_setinputsizes = { cx_Oracle.NCLOB, cx_Oracle.CLOB, cx_Oracle.LOB, - cx_Oracle.BLOB, cx_Oracle.FIXED_CHAR, + cx_Oracle.BLOB, cx_Oracle.FIXED_CHAR, cx_Oracle.TIMESTAMP } self._is_cx_oracle_6 = self.cx_oracle_ver >= (6, ) diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py index b89d149d6..4d9726e2b 100644 --- a/lib/sqlalchemy/testing/requirements.py +++ b/lib/sqlalchemy/testing/requirements.py @@ -499,6 +499,13 @@ class SuiteRequirements(Requirements): return exclusions.open() @property + def timestamp_microseconds(self): + """target dialect supports representation of Python + datetime.datetime() with microsecond objects but only + if TIMESTAMP is used.""" + return exclusions.closed() + + @property def datetime_historic(self): """target dialect supports representation of Python datetime.datetime() objects with historic (pre 1970) values.""" diff --git a/lib/sqlalchemy/testing/suite/test_types.py b/lib/sqlalchemy/testing/suite/test_types.py index 83aac2850..96efbebba 100644 --- a/lib/sqlalchemy/testing/suite/test_types.py +++ b/lib/sqlalchemy/testing/suite/test_types.py @@ -3,7 +3,7 @@ from .. import fixtures, config from ..assertions import eq_ from ..config import requirements -from sqlalchemy import Integer, Unicode, UnicodeText, select +from sqlalchemy import Integer, Unicode, UnicodeText, select, TIMESTAMP from sqlalchemy import Date, DateTime, Time, MetaData, String, \ Text, Numeric, Float, literal, Boolean, cast, null, JSON, and_, type_coerce from ..schema import Table, Column @@ -281,6 +281,12 @@ class DateTimeMicrosecondsTest(_DateFixture, fixtures.TablesTest): datatype = DateTime data = datetime.datetime(2012, 10, 15, 12, 57, 18, 396) +class TimestampMicrosecondsTest(_DateFixture, fixtures.TablesTest): + __requires__ = 'timestamp_microseconds', + __backend__ = True + datatype = TIMESTAMP + data = datetime.datetime(2012, 10, 15, 12, 57, 18, 396) + class TimeTest(_DateFixture, fixtures.TablesTest): __requires__ = 'time', @@ -915,5 +921,6 @@ __all__ = ('UnicodeVarcharTest', 'UnicodeTextTest', 'JSONTest', 'DateTest', 'DateTimeTest', 'TextTest', 'NumericTest', 'IntegerTest', 'DateTimeHistoricTest', 'DateTimeCoercedToDateTimeTest', - 'TimeMicrosecondsTest', 'TimeTest', 'DateTimeMicrosecondsTest', + 'TimeMicrosecondsTest', 'TimestampMicrosecondsTest', 'TimeTest', + 'DateTimeMicrosecondsTest', 'DateHistoricTest', 'StringTest', 'BooleanTest') |