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
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',
'DateTest', 'DateTimeTest', 'TextTest',
'NumericTest', 'IntegerTest',
'DateTimeHistoricTest', 'DateTimeCoercedToDateTimeTest',
- 'TimeMicrosecondsTest', 'TimeTest', 'DateTimeMicrosecondsTest',
+ 'TimeMicrosecondsTest', 'TimestampMicrosecondsTest', 'TimeTest',
+ 'DateTimeMicrosecondsTest',
'DateHistoricTest', 'StringTest', 'BooleanTest')
return skip_if(['mssql', 'mysql', 'firebird', '+zxjdbc',
'oracle', 'sybase'])
+ @property
+ def timestamp_microseconds(self):
+ """target dialect supports representation of Python
+ datetime.datetime() with microsecond objects but only
+ if TIMESTAMP is used."""
+
+ return only_on(['oracle'])
+
@property
def datetime_historic(self):
"""target dialect supports representation of Python
return only_if(
lambda config: against(config, "oracle+cx_oracle") and
config.db.dialect.cx_oracle_ver < (6, )
- )
\ No newline at end of file
+ )