summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-11-02 22:11:40 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-11-02 22:11:40 +0000
commit50719c0bb0bb2db51c0fe2024cb03d4b41ae650b (patch)
treee87717599c3edb90e3e18e0e74782cf4f5b1c6ce /test
parentff2f799ba3f5b0d1ea6d34119ff273e910db100d (diff)
downloadsqlalchemy-50719c0bb0bb2db51c0fe2024cb03d4b41ae650b.tar.gz
revert r5220 inadvertently committed to trunk
Diffstat (limited to 'test')
-rw-r--r--test/orm/inheritance/query.py18
-rw-r--r--test/orm/query.py87
-rwxr-xr-xtest/sql/selectable.py17
3 files changed, 38 insertions, 84 deletions
diff --git a/test/orm/inheritance/query.py b/test/orm/inheritance/query.py
index fdeb45e3a..eb40f01e5 100644
--- a/test/orm/inheritance/query.py
+++ b/test/orm/inheritance/query.py
@@ -258,24 +258,6 @@ def make_test(select_type):
def test_polymorphic_any(self):
sess = create_session()
- # test that the aliasing on "Person" does not bleed into the
- # EXISTS clause generated by any()
-
- # fails with this line, which simulates the usage of declarative
- # need to establish whether or not primaryjoin is _orm_annotated or not
- # in general
- #Company.employees.property.primaryjoin = Company.company_id==Person.company_id
- #self.assertEquals(
- # sess.query(Company).join(Company.employees, aliased=True).filter(Person.name=='dilbert').\
- # filter(Company.employees.any(Person.name=='wally')).all(), [c1]
- #)
-
- self.assertEquals(
- sess.query(Company).join(Company.employees, aliased=True).filter(Person.name=='dilbert').\
- filter(Company.employees.any(Person.name=='vlad')).all(), []
- )
- return
-
self.assertEquals(
sess.query(Company).filter(Company.employees.of_type(Engineer).any(Engineer.primary_language=='cobol')).one(),
c2
diff --git a/test/orm/query.py b/test/orm/query.py
index b312c4db6..407757c10 100644
--- a/test/orm/query.py
+++ b/test/orm/query.py
@@ -41,9 +41,6 @@ class QueryTest(FixtureTest):
})
mapper(Keyword, keywords)
- compile_mappers()
- #class_mapper(User).add_property('addresses', relation(Address, primaryjoin=User.id==Address.user_id, order_by=Address.id, backref='user'))
-
class UnicodeSchemaTest(QueryTest):
keep_mappers = False
@@ -360,10 +357,10 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
)
# fails, needs autoaliasing
- self._test(
- Node.children==None,
- "NOT (EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE nodes.id = nodes_1.parent_id))"
- )
+ #self._test(
+ # Node.children==None,
+ # "NOT (EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE nodes.id = nodes_1.parent_id))"
+ #)
self._test(
Node.parent==None,
@@ -375,19 +372,33 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
"nodes_1.parent_id IS NULL"
)
+ # fails, needs autoaliasing
+ #self._test(
+ # Node.children==[Node(id=1), Node(id=2)],
+ # "(EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE nodes.id = nodes_1.parent_id AND nodes_1.id = :id_1)) "
+ # "AND (EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE nodes.id = nodes_1.parent_id AND nodes_1.id = :id_2))"
+ #)
+
# fails, overaliases
- self._test(
- nalias.children==None,
- "NOT (EXISTS (SELECT 1 FROM nodes WHERE nodes_1.id = nodes.parent_id))"
- )
+ #self._test(
+ # nalias.children==[Node(id=1), Node(id=2)],
+ # "(EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE nodes.id = nodes_1.parent_id AND nodes_1.id = :id_1)) "
+ # "AND (EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE nodes.id = nodes_1.parent_id AND nodes_1.id = :id_2))"
+ #)
+
+ # fails, overaliases
+ #self._test(
+ # nalias.children==None,
+ # "NOT (EXISTS (SELECT 1 FROM nodes AS nodes WHERE nodes_1.id = nodes.parent_id))"
+ #)
# fails
- self._test(
- nalias.children.any(Node.data=='some data'),
- "EXISTS (SELECT 1 FROM nodes WHERE "
- "nodes_1.id = nodes.parent_id AND nodes.data = :data_1)")
+ #self._test(
+ # nalias.children.any(Node.data=='some data'),
+ # "EXISTS (SELECT 1 FROM nodes WHERE "
+ # "nodes_1.id = nodes.parent_id AND nodes.data = :data_1)")
- # fails, but I think I want this to fail
+ # fails
#self._test(
# Node.children.any(nalias.data=='some data'),
# "EXISTS (SELECT 1 FROM nodes AS nodes_1 WHERE "
@@ -395,10 +406,10 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
# )
# fails, overaliases
- self._test(
- nalias.parent.has(Node.data=='some data'),
- "EXISTS (SELECT 1 FROM nodes WHERE nodes.id = nodes_1.parent_id AND nodes.data = :data_1)"
- )
+ #self._test(
+ # nalias.parent.has(Node.data=='some data'),
+ # "EXISTS (SELECT 1 FROM nodes WHERE nodes.id = nodes_1.parent_id AND nodes.data = :data_1)"
+ #)
self._test(
Node.parent.has(Node.data=='some data'),
@@ -417,10 +428,10 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
# fails
# (also why are we doing an EXISTS for this??)
- self._test(
- nalias.parent != Node(id=7),
- 'nodes_1.parent_id != :parent_id_1 OR nodes_1.parent_id IS NULL'
- )
+ #self._test(
+ # nalias.parent != Node(id=7),
+ # 'NOT (EXISTS (SELECT 1 FROM nodes WHERE nodes.id = nodes_1.parent_id AND nodes.id = :id_1))'
+ #)
self._test(
nalias.children.contains(Node(id=7)), "nodes_1.id = :param_1"
@@ -440,7 +451,8 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
def test_selfref_between(self):
ualias = aliased(User)
self._test(User.id.between(ualias.id, ualias.id), "users.id BETWEEN users_1.id AND users_1.id")
- self._test(ualias.id.between(User.id, User.id), "users_1.id BETWEEN users.id AND users.id")
+ # fails:
+ # self._test(ualias.id.between(User.id, User.id), "users_1.id BETWEEN users.id AND users.id")
def test_clauses(self):
for (expr, compare) in (
@@ -557,31 +569,6 @@ class TextTest(QueryTest):
def test_binds(self):
assert [User(id=8), User(id=9)] == create_session().query(User).filter("id in (:id1, :id2)").params(id1=8, id2=9).all()
-
-class FooTest(FixtureTest):
- keep_data = True
-
- def test_filter_by(self):
- clear_mappers()
- sess = create_session(bind=testing.db)
- from sqlalchemy.ext.declarative import declarative_base
- Base = declarative_base(bind=testing.db)
- class User(Base, _base.ComparableEntity):
- __table__ = users
-
- class Address(Base, _base.ComparableEntity):
- __table__ = addresses
-
- compile_mappers()
-# Address.user = relation(User, primaryjoin="User.id==Address.user_id")
- Address.user = relation(User, primaryjoin=User.id==Address.user_id)
-# Address.user = relation(User, primaryjoin=users.c.id==addresses.c.user_id)
- compile_mappers()
-# Address.user.property.primaryjoin = User.id==Address.user_id
- user = sess.query(User).get(8)
- print sess.query(Address).filter_by(user=user).all()
- assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(Address).filter_by(user=user).all()
-
class FilterTest(QueryTest):
def test_basic(self):
assert [User(id=7), User(id=8), User(id=9),User(id=10)] == create_session().query(User).all()
diff --git a/test/sql/selectable.py b/test/sql/selectable.py
index f6bf3eb08..e41165b5b 100755
--- a/test/sql/selectable.py
+++ b/test/sql/selectable.py
@@ -5,7 +5,7 @@ every selectable unit behaving nicely with others.."""
import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from testlib import *
-from sqlalchemy.sql import util as sql_util, visitors
+from sqlalchemy.sql import util as sql_util
from sqlalchemy import exc
metadata = MetaData()
@@ -475,21 +475,6 @@ class AnnotationsTest(TestBase):
assert inner.corresponding_column(t2.c.col1, require_embedded=False) is inner.corresponding_column(t2.c.col1, require_embedded=True) is inner.c.col1
assert inner.corresponding_column(t1.c.col1, require_embedded=False) is inner.corresponding_column(t1.c.col1, require_embedded=True) is inner.c.col1
- def test_annotated_visit(self):
- from sqlalchemy.sql import table, column
- table1 = table('table1', column("col1"), column("col2"))
-
- bin = table1.c.col1 == bindparam('foo', value=None)
- assert str(bin) == "table1.col1 = :foo"
- def visit_binary(b):
- b.right = table1.c.col2
- b2 = visitors.cloned_traverse(bin, {}, {'binary':visit_binary})
- assert str(b2) == "table1.col1 = table1.col2"
-
- b3 = visitors.cloned_traverse(bin._annotate({}), {}, {'binary':visit_binary})
- assert str(b3) == "table1.col1 = table1.col2"
-
-
if __name__ == "__main__":
testenv.main()