diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-06-08 18:54:14 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-06-08 18:54:14 -0400 |
| commit | 85368d25ed158c85bd19f4a63400884ab1cda26a (patch) | |
| tree | fd202eb23d060f3e10489e46b0689cdcfbec69e3 /test/dialect | |
| parent | 31063d16f209beea9d19a2dfbec8e7fdc79cc99b (diff) | |
| download | sqlalchemy-85368d25ed158c85bd19f4a63400884ab1cda26a.tar.gz | |
get nested joins to render on oracle 8
Diffstat (limited to 'test/dialect')
| -rw-r--r-- | test/dialect/test_oracle.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/dialect/test_oracle.py b/test/dialect/test_oracle.py index d26ca6c03..9a243f0f2 100644 --- a/test/dialect/test_oracle.py +++ b/test/dialect/test_oracle.py @@ -464,6 +464,39 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): 'mytable.name) AS bar FROM mytable', dialect=oracle.dialect(use_ansi=False)) + def test_nonansi_nested_right_join(self): + a = table('a', column('a')) + b = table('b', column('b')) + c = table('c', column('c')) + + j = a.join(b.join(c, b.c.b == c.c.c), a.c.a == b.c.b) + + self.assert_compile( + select([j]), + "SELECT a.a, b.b, c.c FROM a, b, c " + "WHERE a.a = b.b AND b.b = c.c", + dialect=oracle.OracleDialect(use_ansi=False) + ) + + + j = a.outerjoin(b.join(c, b.c.b == c.c.c), a.c.a == b.c.b) + + self.assert_compile( + select([j]), + "SELECT a.a, b.b, c.c FROM a, b, c " + "WHERE a.a = b.b(+) AND b.b = c.c", + dialect=oracle.OracleDialect(use_ansi=False) + ) + + j = a.join(b.outerjoin(c, b.c.b == c.c.c), a.c.a == b.c.b) + + self.assert_compile( + select([j]), + "SELECT a.a, b.b, c.c FROM a, b, c " + "WHERE a.a = b.b AND b.b = c.c(+)", + dialect=oracle.OracleDialect(use_ansi=False) + ) + def test_alias_outer_join(self): address_types = table('address_types', column('id'), |
