def test_time_microseconds(self):
     dt = datetime.datetime(2008, 6, 27, 12, 0, 0, 125, )
     eq_(str(dt), '2008-06-27 12:00:00.000125')
     sldt = sqlite.DATETIME()
     bp = sldt.bind_processor(None)
     eq_(bp(dt), '2008-06-27 12:00:00.000125')
     rp = sldt.result_processor(None, None)
     eq_(rp(bp(dt)), dt)
Example #2
0
 def test_custom_format_compact(self):
     dt = datetime.datetime(2008, 6, 27, 12, 0, 0, 125)
     eq_(str(dt), '2008-06-27 12:00:00.000125')
     sldt = sqlite.DATETIME(
         storage_format=(
             "%(year)04d%(month)02d%(day)02d"
             "%(hour)02d%(minute)02d%(second)02d%(microsecond)06d"),
         regexp="(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{6})",
     )
     bp = sldt.bind_processor(None)
     eq_(bp(dt), '20080627120000000125')
     rp = sldt.result_processor(None, None)
     eq_(rp(bp(dt)), dt)
Example #3
0
 def test_custom_datetime_text_affinity(self):
     sqlite_date = sqlite.DATETIME(
         storage_format="%(year)04d%(month)02d%(day)02d"
         "%(hour)02d%(minute)02d%(second)02d",
         regexp=r"(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})",
     )
     t = Table('t', self.metadata, Column('d', sqlite_date))
     self.metadata.create_all(testing.db)
     testing.db.execute(
         t.insert().values(d=datetime.datetime(2010, 10, 15, 12, 37, 0)))
     testing.db.execute("insert into t (d) values ('20040521000000')")
     eq_(
         testing.db.execute("select * from t order by d").fetchall(),
         [('20040521000000', ), ('20101015123700', )])
     eq_(
         testing.db.execute(select([t.c.d]).order_by(t.c.d)).fetchall(),
         [(datetime.datetime(2004, 5, 21, 0, 0), ),
          (datetime.datetime(2010, 10, 15, 12, 37), )])
Example #4
0
 def test_custom_datetime(self):
     sqlite_date = sqlite.DATETIME(
         # 2004-05-21T00:00:00
         storage_format="%(year)04d-%(month)02d-%(day)02d"
         "T%(hour)02d:%(minute)02d:%(second)02d",
         regexp=r"(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)",
     )
     t = Table('t', self.metadata, Column('d', sqlite_date))
     self.metadata.create_all(testing.db)
     testing.db.execute(
         t.insert().values(d=datetime.datetime(2010, 10, 15, 12, 37, 0)))
     testing.db.execute("insert into t (d) values ('2004-05-21T00:00:00')")
     eq_(
         testing.db.execute("select * from t order by d").fetchall(),
         [('2004-05-21T00:00:00', ), ('2010-10-15T12:37:00', )])
     eq_(
         testing.db.execute(select([t.c.d]).order_by(t.c.d)).fetchall(),
         [(datetime.datetime(2004, 5, 21, 0, 0), ),
          (datetime.datetime(2010, 10, 15, 12, 37), )])
Example #5
0
 def _fixed_lookup_fixture(self):
     return [
         (sqltypes.String(), sqltypes.VARCHAR()),
         (sqltypes.String(1), sqltypes.VARCHAR(1)),
         (sqltypes.String(3), sqltypes.VARCHAR(3)),
         (sqltypes.Text(), sqltypes.TEXT()),
         (sqltypes.Unicode(), sqltypes.VARCHAR()),
         (sqltypes.Unicode(1), sqltypes.VARCHAR(1)),
         (sqltypes.UnicodeText(), sqltypes.TEXT()),
         (sqltypes.CHAR(3), sqltypes.CHAR(3)),
         (sqltypes.NUMERIC, sqltypes.NUMERIC()),
         (sqltypes.NUMERIC(10, 2), sqltypes.NUMERIC(10, 2)),
         (sqltypes.Numeric, sqltypes.NUMERIC()),
         (sqltypes.Numeric(10, 2), sqltypes.NUMERIC(10, 2)),
         (sqltypes.DECIMAL, sqltypes.DECIMAL()),
         (sqltypes.DECIMAL(10, 2), sqltypes.DECIMAL(10, 2)),
         (sqltypes.INTEGER, sqltypes.INTEGER()),
         (sqltypes.BIGINT, sqltypes.BIGINT()),
         (sqltypes.Float, sqltypes.FLOAT()),
         (sqltypes.TIMESTAMP, sqltypes.TIMESTAMP()),
         (sqltypes.DATETIME, sqltypes.DATETIME()),
         (sqltypes.DateTime, sqltypes.DATETIME()),
         (sqltypes.DateTime(), sqltypes.DATETIME()),
         (sqltypes.DATE, sqltypes.DATE()),
         (sqltypes.Date, sqltypes.DATE()),
         (sqltypes.TIME, sqltypes.TIME()),
         (sqltypes.Time, sqltypes.TIME()),
         (sqltypes.BOOLEAN, sqltypes.BOOLEAN()),
         (sqltypes.Boolean, sqltypes.BOOLEAN()),
         (sqlite.DATE(storage_format="%(year)04d%(month)02d%(day)02d", ),
          sqltypes.DATE()),
         (sqlite.TIME(
             storage_format="%(hour)02d%(minute)02d%(second)02d", ),
          sqltypes.TIME()),
         (sqlite.DATETIME(storage_format="%(year)04d%(month)02d%(day)02d"
                          "%(hour)02d%(minute)02d%(second)02d", ),
          sqltypes.DATETIME()),
     ]