def test_default(self): dt = datetime.date(2008, 6, 27) eq_(str(dt), '2008-06-27') sldt = sqlite.DATE() bp = sldt.bind_processor(None) eq_(bp(dt), '2008-06-27') rp = sldt.result_processor(None, None) eq_(rp(bp(dt)), dt)
def test_custom_format(self): dt = datetime.date(2008, 6, 27) eq_(str(dt), '2008-06-27') sldt = sqlite.DATE( storage_format="%(year)04d%(month)02d%(day)02d", regexp="(\d{4})(\d{2})(\d{2})", ) bp = sldt.bind_processor(None) eq_(bp(dt), '20080627') rp = sldt.result_processor(None, None) eq_(rp(bp(dt)), dt)
def test_custom_format(self): dt = datetime.date(2008, 6, 27) eq_(str(dt), '2008-06-27') sldt = sqlite.DATE( storage_format="%(month)02d/%(day)02d/%(year)04d", regexp="(?P<month>\d+)/(?P<day>\d+)/(?P<year>\d+)", ) bp = sldt.bind_processor(None) eq_(bp(dt), '06/27/2008') rp = sldt.result_processor(None, None) eq_(rp(bp(dt)), dt)
def test_custom_date_text_affinity(self): sqlite_date = sqlite.DATE( storage_format="%(year)04d%(month)02d%(day)02d", regexp=r"(\d{4})(\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.date(2010, 10, 15))) testing.db.execute("insert into t (d) values ('20040521')") eq_( testing.db.execute("select * from t order by d").fetchall(), [('20040521', ), ('20101015', )]) eq_( testing.db.execute(select([t.c.d]).order_by(t.c.d)).fetchall(), [(datetime.date(2004, 5, 21), ), (datetime.date(2010, 10, 15), )])
def test_custom_date(self): sqlite_date = sqlite.DATE( # 2004-05-21T00:00:00 storage_format="%(year)04d|%(month)02d|%(day)02d", regexp=r"(\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.date(2010, 10, 15))) testing.db.execute("insert into t (d) values ('2004|05|21')") eq_( testing.db.execute("select * from t order by d").fetchall(), [(u'2004|05|21',), (u'2010|10|15',)] ) eq_( testing.db.execute(select([t.c.d]).order_by(t.c.d)).fetchall(), [(datetime.date(2004, 5, 21),), (datetime.date(2010, 10, 15),)] )
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()), ]