diff options
Diffstat (limited to 'test/sql/query.py')
-rw-r--r-- | test/sql/query.py | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/test/sql/query.py b/test/sql/query.py index fa88c5fe6..9b35cff1c 100644 --- a/test/sql/query.py +++ b/test/sql/query.py @@ -417,95 +417,6 @@ class QueryTest(PersistTest): except exceptions.ArgumentError, e: assert str(e).startswith('Not an executable clause: ') - def test_functions(self): - x = testbase.db.func.current_date().execute().scalar() - y = testbase.db.func.current_date().select().execute().scalar() - z = testbase.db.func.current_date().scalar() - assert (x == y == z) is True - - x = testbase.db.func.current_date(type_=Date) - assert isinstance(x.type, Date) - assert isinstance(x.execute().scalar(), datetime.date) - - def test_conn_functions(self): - conn = testbase.db.connect() - try: - x = conn.execute(func.current_date()).scalar() - y = conn.execute(func.current_date().select()).scalar() - z = conn.scalar(func.current_date()) - finally: - conn.close() - assert (x == y == z) is True - - def test_update_functions(self): - """ - Tests sending functions and SQL expressions to the VALUES and SET - clauses of INSERT/UPDATE instances, and that column-level defaults - get overridden. - """ - - meta = MetaData(testbase.db) - t = Table('t1', meta, - Column('id', Integer, Sequence('t1idseq', optional=True), primary_key=True), - Column('value', Integer) - ) - t2 = Table('t2', meta, - Column('id', Integer, Sequence('t2idseq', optional=True), primary_key=True), - Column('value', Integer, default=7), - Column('stuff', String(20), onupdate="thisisstuff") - ) - meta.create_all() - try: - t.insert(values=dict(value=func.length("one"))).execute() - assert t.select().execute().fetchone()['value'] == 3 - t.update(values=dict(value=func.length("asfda"))).execute() - assert t.select().execute().fetchone()['value'] == 5 - - r = t.insert(values=dict(value=func.length("sfsaafsda"))).execute() - id = r.last_inserted_ids()[0] - assert t.select(t.c.id==id).execute().fetchone()['value'] == 9 - t.update(values={t.c.value:func.length("asdf")}).execute() - assert t.select().execute().fetchone()['value'] == 4 - print "--------------------------" - t2.insert().execute() - t2.insert(values=dict(value=func.length("one"))).execute() - t2.insert(values=dict(value=func.length("asfda") + -19)).execute(stuff="hi") - - res = exec_sorted(select([t2.c.value, t2.c.stuff])) - self.assertEquals(res, [(-14, 'hi'), (3, None), (7, None)]) - - t2.update(values=dict(value=func.length("asdsafasd"))).execute(stuff="some stuff") - assert select([t2.c.value, t2.c.stuff]).execute().fetchall() == [(9,"some stuff"), (9,"some stuff"), (9,"some stuff")] - - t2.delete().execute() - - t2.insert(values=dict(value=func.length("one") + 8)).execute() - assert t2.select().execute().fetchone()['value'] == 11 - - t2.update(values=dict(value=func.length("asfda"))).execute() - assert select([t2.c.value, t2.c.stuff]).execute().fetchone() == (5, "thisisstuff") - - t2.update(values={t2.c.value:func.length("asfdaasdf"), t2.c.stuff:"foo"}).execute() - print "HI", select([t2.c.value, t2.c.stuff]).execute().fetchone() - assert select([t2.c.value, t2.c.stuff]).execute().fetchone() == (9, "foo") - - finally: - meta.drop_all() - - @testing.supported('postgres') - def test_functions_with_cols(self): - # TODO: shouldnt this work on oracle too ? - x = testbase.db.func.current_date().execute().scalar() - y = testbase.db.func.current_date().select().execute().scalar() - z = testbase.db.func.current_date().scalar() - w = select(['*'], from_obj=[testbase.db.func.current_date()]).scalar() - - # construct a column-based FROM object out of a function, like in [ticket:172] - s = select([sql.column('date', type_=DateTime)], from_obj=[testbase.db.func.current_date()]) - q = s.execute().fetchone()[s.c.date] - r = s.alias('datequery').select().scalar() - - assert x == y == z == w == q == r def test_column_order_with_simple_query(self): |